Class OmMetadataReader

java.lang.Object
org.apache.hadoop.ozone.om.OmMetadataReader
All Implemented Interfaces:
org.apache.hadoop.ozone.audit.Auditor, org.apache.hadoop.ozone.om.IOmMetadataReader

public class OmMetadataReader extends Object implements org.apache.hadoop.ozone.om.IOmMetadataReader, org.apache.hadoop.ozone.audit.Auditor
OM Metadata Reading class for the OM and Snapshot managers. This abstraction manages all the metadata key/acl reading from a rocksDb instance, for both the OM and OM snapshots.
  • Constructor Summary

    Constructors
    Constructor
    Description
    OmMetadataReader(KeyManager keyManager, PrefixManager prefixManager, OzoneManager ozoneManager, org.slf4j.Logger log, org.apache.hadoop.ozone.audit.AuditLogger audit, OmMetadataReaderMetrics omMetadataReaderMetrics, org.apache.hadoop.ozone.security.acl.IAccessAuthorizer accessAuthorizer)
     
  • Method Summary

    Modifier and Type
    Method
    Description
    org.apache.hadoop.ozone.audit.AuditMessage
    buildAuditMessageForFailure(org.apache.hadoop.ozone.audit.AuditAction op, Map<String,String> auditMap, Throwable throwable)
     
    org.apache.hadoop.ozone.audit.AuditMessage
    buildAuditMessageForSuccess(org.apache.hadoop.ozone.audit.AuditAction op, Map<String,String> auditMap)
     
    boolean
    checkAcls(org.apache.hadoop.ozone.security.acl.OzoneObj.ResourceType resType, org.apache.hadoop.ozone.security.acl.OzoneObj.StoreType storeType, org.apache.hadoop.ozone.security.acl.IAccessAuthorizer.ACLType aclType, String vol, String bucket, String key, org.apache.hadoop.security.UserGroupInformation ugi, InetAddress remoteAddress, String hostName, boolean throwIfPermissionDenied, String owner)
    CheckAcls for the ozone object.
    boolean
    checkAcls(org.apache.hadoop.ozone.security.acl.OzoneObj obj, org.apache.hadoop.ozone.security.acl.RequestContext context, boolean throwIfPermissionDenied)
    CheckAcls for the ozone object.
    List<org.apache.hadoop.ozone.OzoneAcl>
    getAcl(org.apache.hadoop.ozone.security.acl.OzoneObj obj)
    Returns list of ACLs for given Ozone object.
    org.apache.hadoop.ozone.om.helpers.OzoneFileStatus
    getFileStatus(org.apache.hadoop.ozone.om.helpers.OmKeyArgs args)
     
    org.apache.hadoop.ozone.om.helpers.KeyInfoWithVolumeContext
    getKeyInfo(org.apache.hadoop.ozone.om.helpers.OmKeyArgs args, boolean assumeS3Context)
     
    getObjectTagging(org.apache.hadoop.ozone.om.helpers.OmKeyArgs args)
     
    boolean
    Returns true if OzoneNativeAuthorizer is enabled and false if otherwise.
    org.apache.hadoop.ozone.om.helpers.ListKeysResult
    listKeys(String volumeName, String bucketName, String startKey, String keyPrefix, int maxKeys)
     
    org.apache.hadoop.ozone.om.helpers.ListKeysLightResult
    listKeysLight(String volumeName, String bucketName, String startKey, String keyPrefix, int maxKeys)
     
    List<org.apache.hadoop.ozone.om.helpers.OzoneFileStatus>
    listStatus(org.apache.hadoop.ozone.om.helpers.OmKeyArgs args, boolean recursive, String startKey, long numEntries, boolean allowPartialPrefixes)
     
    List<org.apache.hadoop.ozone.om.helpers.OzoneFileStatusLight>
    listStatusLight(org.apache.hadoop.ozone.om.helpers.OmKeyArgs args, boolean recursive, String startKey, long numEntries, boolean allowPartialPrefixes)
     
    org.apache.hadoop.ozone.om.helpers.OmKeyInfo
    lookupFile(org.apache.hadoop.ozone.om.helpers.OmKeyArgs args)
     
    org.apache.hadoop.ozone.om.helpers.OmKeyInfo
    lookupKey(org.apache.hadoop.ozone.om.helpers.OmKeyArgs args)
    Lookup a key.

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

    Methods inherited from interface org.apache.hadoop.ozone.om.IOmMetadataReader

    listStatus
  • Constructor Details

    • OmMetadataReader

      public OmMetadataReader(KeyManager keyManager, PrefixManager prefixManager, OzoneManager ozoneManager, org.slf4j.Logger log, org.apache.hadoop.ozone.audit.AuditLogger audit, OmMetadataReaderMetrics omMetadataReaderMetrics, org.apache.hadoop.ozone.security.acl.IAccessAuthorizer accessAuthorizer)
  • Method Details

    • lookupKey

      public org.apache.hadoop.ozone.om.helpers.OmKeyInfo lookupKey(org.apache.hadoop.ozone.om.helpers.OmKeyArgs args) throws IOException
      Lookup a key.
      Specified by:
      lookupKey in interface org.apache.hadoop.ozone.om.IOmMetadataReader
      Parameters:
      args - - attributes of the key.
      Returns:
      OmKeyInfo - the info about the requested key.
      Throws:
      IOException
    • getKeyInfo

      public org.apache.hadoop.ozone.om.helpers.KeyInfoWithVolumeContext getKeyInfo(org.apache.hadoop.ozone.om.helpers.OmKeyArgs args, boolean assumeS3Context) throws IOException
      Specified by:
      getKeyInfo in interface org.apache.hadoop.ozone.om.IOmMetadataReader
      Throws:
      IOException
    • listStatus

      public List<org.apache.hadoop.ozone.om.helpers.OzoneFileStatus> listStatus(org.apache.hadoop.ozone.om.helpers.OmKeyArgs args, boolean recursive, String startKey, long numEntries, boolean allowPartialPrefixes) throws IOException
      Specified by:
      listStatus in interface org.apache.hadoop.ozone.om.IOmMetadataReader
      Throws:
      IOException
    • listStatusLight

      public List<org.apache.hadoop.ozone.om.helpers.OzoneFileStatusLight> listStatusLight(org.apache.hadoop.ozone.om.helpers.OmKeyArgs args, boolean recursive, String startKey, long numEntries, boolean allowPartialPrefixes) throws IOException
      Specified by:
      listStatusLight in interface org.apache.hadoop.ozone.om.IOmMetadataReader
      Throws:
      IOException
    • getFileStatus

      public org.apache.hadoop.ozone.om.helpers.OzoneFileStatus getFileStatus(org.apache.hadoop.ozone.om.helpers.OmKeyArgs args) throws IOException
      Specified by:
      getFileStatus in interface org.apache.hadoop.ozone.om.IOmMetadataReader
      Throws:
      IOException
    • lookupFile

      public org.apache.hadoop.ozone.om.helpers.OmKeyInfo lookupFile(org.apache.hadoop.ozone.om.helpers.OmKeyArgs args) throws IOException
      Specified by:
      lookupFile in interface org.apache.hadoop.ozone.om.IOmMetadataReader
      Throws:
      IOException
    • listKeys

      public org.apache.hadoop.ozone.om.helpers.ListKeysResult listKeys(String volumeName, String bucketName, String startKey, String keyPrefix, int maxKeys) throws IOException
      Specified by:
      listKeys in interface org.apache.hadoop.ozone.om.IOmMetadataReader
      Throws:
      IOException
    • listKeysLight

      public org.apache.hadoop.ozone.om.helpers.ListKeysLightResult listKeysLight(String volumeName, String bucketName, String startKey, String keyPrefix, int maxKeys) throws IOException
      Specified by:
      listKeysLight in interface org.apache.hadoop.ozone.om.IOmMetadataReader
      Throws:
      IOException
    • getAcl

      public List<org.apache.hadoop.ozone.OzoneAcl> getAcl(org.apache.hadoop.ozone.security.acl.OzoneObj obj) throws IOException
      Returns list of ACLs for given Ozone object.
      Specified by:
      getAcl in interface org.apache.hadoop.ozone.om.IOmMetadataReader
      Parameters:
      obj - Ozone object.
      Throws:
      IOException - if there is error.
    • getObjectTagging

      public Map<String,String> getObjectTagging(org.apache.hadoop.ozone.om.helpers.OmKeyArgs args) throws IOException
      Specified by:
      getObjectTagging in interface org.apache.hadoop.ozone.om.IOmMetadataReader
      Throws:
      IOException
    • checkAcls

      public boolean checkAcls(org.apache.hadoop.ozone.security.acl.OzoneObj.ResourceType resType, org.apache.hadoop.ozone.security.acl.OzoneObj.StoreType storeType, org.apache.hadoop.ozone.security.acl.IAccessAuthorizer.ACLType aclType, String vol, String bucket, String key, org.apache.hadoop.security.UserGroupInformation ugi, InetAddress remoteAddress, String hostName, boolean throwIfPermissionDenied, String owner) throws org.apache.hadoop.ozone.om.exceptions.OMException
      CheckAcls for the ozone object.
      Returns:
      true if permission granted, false if permission denied.
      Throws:
      org.apache.hadoop.ozone.om.exceptions.OMException - ResultCodes.PERMISSION_DENIED if permission denied and throwOnPermissionDenied set to true.
    • checkAcls

      public boolean checkAcls(org.apache.hadoop.ozone.security.acl.OzoneObj obj, org.apache.hadoop.ozone.security.acl.RequestContext context, boolean throwIfPermissionDenied) throws org.apache.hadoop.ozone.om.exceptions.OMException
      CheckAcls for the ozone object.
      Returns:
      true if permission granted, false if permission denied.
      Throws:
      org.apache.hadoop.ozone.om.exceptions.OMException - ResultCodes.PERMISSION_DENIED if permission denied and throwOnPermissionDenied set to true.
    • buildAuditMessageForSuccess

      public org.apache.hadoop.ozone.audit.AuditMessage buildAuditMessageForSuccess(org.apache.hadoop.ozone.audit.AuditAction op, Map<String,String> auditMap)
      Specified by:
      buildAuditMessageForSuccess in interface org.apache.hadoop.ozone.audit.Auditor
    • buildAuditMessageForFailure

      public org.apache.hadoop.ozone.audit.AuditMessage buildAuditMessageForFailure(org.apache.hadoop.ozone.audit.AuditAction op, Map<String,String> auditMap, Throwable throwable)
      Specified by:
      buildAuditMessageForFailure in interface org.apache.hadoop.ozone.audit.Auditor
    • isNativeAuthorizerEnabled

      public boolean isNativeAuthorizerEnabled()
      Returns true if OzoneNativeAuthorizer is enabled and false if otherwise.
      Returns:
      if native authorizer is enabled.