Class OMDBDefinition

java.lang.Object
org.apache.hadoop.hdds.utils.db.DBDefinition.WithMap
org.apache.hadoop.ozone.om.codec.OMDBDefinition
All Implemented Interfaces:
org.apache.hadoop.hdds.utils.db.DBDefinition, org.apache.hadoop.hdds.utils.db.DBDefinition.WithMapInterface

public final class OMDBDefinition extends org.apache.hadoop.hdds.utils.db.DBDefinition.WithMap
OM database definitions.
 
 User, Token and Secret Tables:
 |------------------------------------------------------------------------|
 |        Column Family |                 Mapping                         |
 |------------------------------------------------------------------------|
 |            userTable |             /user :- UserVolumeInfo             |
 |          dTokenTable |      OzoneTokenID :- renew_time                 |
 |        s3SecretTable | s3g_access_key_id :- s3Secret                   |
 |------------------------------------------------------------------------|
 
 
 
 Volume, Bucket, Prefix and Transaction Tables:
 |------------------------------------------------------------------------|
 |        Column Family |                 Mapping                         |
 |------------------------------------------------------------------------|
 |          volumeTable |           /volume :- VolumeInfo                 |
 |          bucketTable |    /volume/bucket :- BucketInfo                 |
 |------------------------------------------------------------------------|
 |          prefixTable |            prefix :- PrefixInfo                 |
 |------------------------------------------------------------------------|
 | transactionInfoTable |  #TRANSACTIONINFO :- OMTransactionInfo          |
 |            metaTable |       metaDataKey :- metaDataValue              |
 |------------------------------------------------------------------------|
 
 
 
 Object Store (OBS) Tables:
 |-----------------------------------------------------------------------|
 |        Column Family |                           Mapping              |
 |-----------------------------------------------------------------------|
 |             keyTable | /volume/bucket/key          :- KeyInfo         |
 |         deletedTable | /volume/bucket/key          :- RepeatedKeyInfo |
 |         openKeyTable | /volume/bucket/key/id       :- KeyInfo         |
 |   multipartInfoTable | /volume/bucket/key/uploadId :- parts           |
 |-----------------------------------------------------------------------|
 
 
Note that "volume", "bucket" and "key" in OBS tables are names.
 
 File System Optimized (FSO) Tables:
 |-----------------------------------------------------------------------------------|
 |          Column Family |                                            Mapping       |
 |-----------------------------------------------------------------------------------|
 |              fileTable | /volumeId/bucketId/parentId/fileName         :- KeyInfo  |
 |          openFileTable | /volumeId/bucketId/parentId/fileName/id      :- KeyInfo  |
 |         directoryTable | /volumeId/bucketId/parentId/dirName          :- DirInfo  |
 |  deletedDirectoryTable | /volumeId/bucketId/parentId/dirName/objectId :- KeyInfo  |
 |-----------------------------------------------------------------------------------|
 
 
 
 S3 Multi-Tenant Tables:
 |----------------------------------------------------------------------|
 |             Column Family |             Mapping                      |
 |----------------------------------------------------------------------|
 |          tenantStateTable |      tenantId :- OmDBTenantState         |
 |       tenantAccessIdTable |      accessId :- OmDBAccessIdInfo        |
 | principalToAccessIdsTable | userPrincipal :- OmDBUserPrincipalInfo   |
 |----------------------------------------------------------------------|
 
 
 
 Snapshot Tables:
 |----------------------------------------------------------------------------------|
 |        Column Family |                                   Mapping                 |
 |----------------------------------------------------------------------------------|
 |    snapshotInfoTable | /volumeName/bucketName/snapshotName :- SnapshotInfo       |
 | snapshotRenamedTable | /volumeName/bucketName/objectID     :- renameFrom         |
 |   compactionLogTable | dbTrxId-compactionTime              :- compactionLogEntry |
 |----------------------------------------------------------------------------------|
 
 
Note that renameFrom is one of the following: 1. /volumeId/bucketId/parentId/dirName 2. /volumeId/bucketId/parentId/fileName 3. /volumeName/bucketName/keyName
  • Nested Class Summary

    Nested classes/interfaces inherited from interface org.apache.hadoop.hdds.utils.db.DBDefinition

    org.apache.hadoop.hdds.utils.db.DBDefinition.WithMap, org.apache.hadoop.hdds.utils.db.DBDefinition.WithMapInterface
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    static final String
     
    static final org.apache.hadoop.hdds.utils.db.DBColumnFamilyDefinition<String,org.apache.hadoop.ozone.om.helpers.OmBucketInfo>
    bucketTable: /volume/bucket :- BucketInfo.
    static final String
     
    static final org.apache.hadoop.hdds.utils.db.DBColumnFamilyDefinition<String,org.apache.ozone.compaction.log.CompactionLogEntry>
    compactionLogTable: dbTrxId-compactionTime :- compactionLogEntry.
    static final String
     
    static final org.apache.hadoop.hdds.utils.db.DBColumnFamilyDefinition<org.apache.hadoop.ozone.security.OzoneTokenIdentifier,Long>
    dTokenTable: OzoneTokenID :- renew_time.
    static final String
     
    static final org.apache.hadoop.hdds.utils.db.DBColumnFamilyDefinition<String,org.apache.hadoop.ozone.om.helpers.OmKeyInfo>
    deletedDirectoryTable: /volumeId/bucketId/parentId/dirName/objectId :- KeyInfo.
    static final String
     
    static final org.apache.hadoop.hdds.utils.db.DBColumnFamilyDefinition<String,org.apache.hadoop.ozone.om.helpers.RepeatedOmKeyInfo>
    deletedTable: /volume/bucket/key :- RepeatedKeyInfo.
    static final String
     
    static final org.apache.hadoop.hdds.utils.db.DBColumnFamilyDefinition<String,org.apache.hadoop.ozone.om.helpers.OmDirectoryInfo>
    directoryTable: /volumeId/bucketId/parentId/dirName :- DirInfo.
    static final String
     
    static final org.apache.hadoop.hdds.utils.db.DBColumnFamilyDefinition<String,org.apache.hadoop.ozone.om.helpers.OmKeyInfo>
    fileTable: /volumeId/bucketId/parentId/fileName :- KeyInfo.
    static final String
     
    static final org.apache.hadoop.hdds.utils.db.DBColumnFamilyDefinition<String,org.apache.hadoop.ozone.om.helpers.OmKeyInfo>
    keyTable: /volume/bucket/key :- KeyInfo.
    static final String
     
    static final org.apache.hadoop.hdds.utils.db.DBColumnFamilyDefinition<String,String>
    metaTable: metaDataKey :- metaDataValue.
    static final String
     
    static final org.apache.hadoop.hdds.utils.db.DBColumnFamilyDefinition<String,org.apache.hadoop.ozone.om.helpers.OmMultipartKeyInfo>
    multipartInfoTable: /volume/bucket/key/uploadId :- parts.
    static final String
     
    static final org.apache.hadoop.hdds.utils.db.DBColumnFamilyDefinition<String,org.apache.hadoop.ozone.om.helpers.OmKeyInfo>
    openFileTable: /volumeId/bucketId/parentId/fileName/id :- KeyInfo.
    static final String
     
    static final org.apache.hadoop.hdds.utils.db.DBColumnFamilyDefinition<String,org.apache.hadoop.ozone.om.helpers.OmKeyInfo>
    openKeyTable: /volume/bucket/key/id :- KeyInfo.
    static final String
     
    static final org.apache.hadoop.hdds.utils.db.DBColumnFamilyDefinition<String,org.apache.hadoop.ozone.om.helpers.OmPrefixInfo>
    prefixTable: prefix :- PrefixInfo.
    static final String
     
    static final org.apache.hadoop.hdds.utils.db.DBColumnFamilyDefinition<String,org.apache.hadoop.ozone.om.helpers.OmDBUserPrincipalInfo>
    principalToAccessIdsTable: userPrincipal :- OmDBUserPrincipalInfo.
    static final String
     
    static final org.apache.hadoop.hdds.utils.db.DBColumnFamilyDefinition<String,org.apache.hadoop.ozone.om.helpers.S3SecretValue>
    s3SecretTable: s3g_access_key_id :- s3Secret.
    static final String
     
    static final org.apache.hadoop.hdds.utils.db.DBColumnFamilyDefinition<String,org.apache.hadoop.ozone.om.helpers.SnapshotInfo>
    snapshotInfoTable: /volume/bucket/snapshotName :- SnapshotInfo.
    static final String
     
    static final org.apache.hadoop.hdds.utils.db.DBColumnFamilyDefinition<String,String>
    snapshotRenamedTable: /volumeName/bucketName/objectID :- renameFrom.
    static final String
     
    static final org.apache.hadoop.hdds.utils.db.DBColumnFamilyDefinition<String,org.apache.hadoop.ozone.om.helpers.OmDBAccessIdInfo>
    tenantAccessIdTable: accessId :- OmDBAccessIdInfo.
    static final String
     
    static final org.apache.hadoop.hdds.utils.db.DBColumnFamilyDefinition<String,org.apache.hadoop.ozone.om.helpers.OmDBTenantState>
    tenantStateTable: tenantId :- OmDBTenantState.
    static final String
     
    static final org.apache.hadoop.hdds.utils.db.DBColumnFamilyDefinition<String,org.apache.hadoop.hdds.utils.TransactionInfo>
    transactionInfoTable: #TRANSACTIONINFO :- OMTransactionInfo.
    static final String
     
    static final org.apache.hadoop.hdds.utils.db.DBColumnFamilyDefinition<String,org.apache.hadoop.ozone.storage.proto.OzoneManagerStorageProtos.PersistedUserVolumeInfo>
    userTable: /user :- UserVolumeInfo.
    static final String
     
    static final org.apache.hadoop.hdds.utils.db.DBColumnFamilyDefinition<String,org.apache.hadoop.ozone.om.helpers.OmVolumeArgs>
    volumeTable: /volume :- VolumeInfo.

    Fields inherited from interface org.apache.hadoop.hdds.utils.db.DBDefinition

    LOG
  • Method Summary

    Modifier and Type
    Method
    Description
    get()
     
     
     

    Methods inherited from class org.apache.hadoop.hdds.utils.db.DBDefinition.WithMap

    getColumnFamilyNames, getMap

    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.hdds.utils.db.DBDefinition

    getColumnFamily, getDBLocation, getOptionsPath

    Methods inherited from interface org.apache.hadoop.hdds.utils.db.DBDefinition.WithMapInterface

    getColumnFamilies, getColumnFamilies
  • Field Details

    • USER_TABLE

      public static final String USER_TABLE
      See Also:
    • USER_TABLE_DEF

      public static final org.apache.hadoop.hdds.utils.db.DBColumnFamilyDefinition<String,org.apache.hadoop.ozone.storage.proto.OzoneManagerStorageProtos.PersistedUserVolumeInfo> USER_TABLE_DEF
      userTable: /user :- UserVolumeInfo.
    • DELEGATION_TOKEN_TABLE

      public static final String DELEGATION_TOKEN_TABLE
      See Also:
    • DELEGATION_TOKEN_TABLE_DEF

      public static final org.apache.hadoop.hdds.utils.db.DBColumnFamilyDefinition<org.apache.hadoop.ozone.security.OzoneTokenIdentifier,Long> DELEGATION_TOKEN_TABLE_DEF
      dTokenTable: OzoneTokenID :- renew_time.
    • S3_SECRET_TABLE

      public static final String S3_SECRET_TABLE
      See Also:
    • S3_SECRET_TABLE_DEF

      public static final org.apache.hadoop.hdds.utils.db.DBColumnFamilyDefinition<String,org.apache.hadoop.ozone.om.helpers.S3SecretValue> S3_SECRET_TABLE_DEF
      s3SecretTable: s3g_access_key_id :- s3Secret.
    • VOLUME_TABLE

      public static final String VOLUME_TABLE
      See Also:
    • VOLUME_TABLE_DEF

      public static final org.apache.hadoop.hdds.utils.db.DBColumnFamilyDefinition<String,org.apache.hadoop.ozone.om.helpers.OmVolumeArgs> VOLUME_TABLE_DEF
      volumeTable: /volume :- VolumeInfo.
    • BUCKET_TABLE

      public static final String BUCKET_TABLE
      See Also:
    • BUCKET_TABLE_DEF

      public static final org.apache.hadoop.hdds.utils.db.DBColumnFamilyDefinition<String,org.apache.hadoop.ozone.om.helpers.OmBucketInfo> BUCKET_TABLE_DEF
      bucketTable: /volume/bucket :- BucketInfo.
    • PREFIX_TABLE

      public static final String PREFIX_TABLE
      See Also:
    • PREFIX_TABLE_DEF

      public static final org.apache.hadoop.hdds.utils.db.DBColumnFamilyDefinition<String,org.apache.hadoop.ozone.om.helpers.OmPrefixInfo> PREFIX_TABLE_DEF
      prefixTable: prefix :- PrefixInfo.
    • TRANSACTION_INFO_TABLE

      public static final String TRANSACTION_INFO_TABLE
      See Also:
    • TRANSACTION_INFO_TABLE_DEF

      public static final org.apache.hadoop.hdds.utils.db.DBColumnFamilyDefinition<String,org.apache.hadoop.hdds.utils.TransactionInfo> TRANSACTION_INFO_TABLE_DEF
      transactionInfoTable: #TRANSACTIONINFO :- OMTransactionInfo.
    • META_TABLE

      public static final String META_TABLE
      See Also:
    • META_TABLE_DEF

      public static final org.apache.hadoop.hdds.utils.db.DBColumnFamilyDefinition<String,String> META_TABLE_DEF
      metaTable: metaDataKey :- metaDataValue.
    • KEY_TABLE

      public static final String KEY_TABLE
      See Also:
    • KEY_TABLE_DEF

      public static final org.apache.hadoop.hdds.utils.db.DBColumnFamilyDefinition<String,org.apache.hadoop.ozone.om.helpers.OmKeyInfo> KEY_TABLE_DEF
      keyTable: /volume/bucket/key :- KeyInfo.
    • DELETED_TABLE

      public static final String DELETED_TABLE
      See Also:
    • DELETED_TABLE_DEF

      public static final org.apache.hadoop.hdds.utils.db.DBColumnFamilyDefinition<String,org.apache.hadoop.ozone.om.helpers.RepeatedOmKeyInfo> DELETED_TABLE_DEF
      deletedTable: /volume/bucket/key :- RepeatedKeyInfo.
    • OPEN_KEY_TABLE

      public static final String OPEN_KEY_TABLE
      See Also:
    • OPEN_KEY_TABLE_DEF

      public static final org.apache.hadoop.hdds.utils.db.DBColumnFamilyDefinition<String,org.apache.hadoop.ozone.om.helpers.OmKeyInfo> OPEN_KEY_TABLE_DEF
      openKeyTable: /volume/bucket/key/id :- KeyInfo.
    • MULTIPART_INFO_TABLE

      public static final String MULTIPART_INFO_TABLE
      See Also:
    • MULTIPART_INFO_TABLE_DEF

      public static final org.apache.hadoop.hdds.utils.db.DBColumnFamilyDefinition<String,org.apache.hadoop.ozone.om.helpers.OmMultipartKeyInfo> MULTIPART_INFO_TABLE_DEF
      multipartInfoTable: /volume/bucket/key/uploadId :- parts.
    • FILE_TABLE

      public static final String FILE_TABLE
      See Also:
    • FILE_TABLE_DEF

      public static final org.apache.hadoop.hdds.utils.db.DBColumnFamilyDefinition<String,org.apache.hadoop.ozone.om.helpers.OmKeyInfo> FILE_TABLE_DEF
      fileTable: /volumeId/bucketId/parentId/fileName :- KeyInfo.
    • OPEN_FILE_TABLE

      public static final String OPEN_FILE_TABLE
      See Also:
    • OPEN_FILE_TABLE_DEF

      public static final org.apache.hadoop.hdds.utils.db.DBColumnFamilyDefinition<String,org.apache.hadoop.ozone.om.helpers.OmKeyInfo> OPEN_FILE_TABLE_DEF
      openFileTable: /volumeId/bucketId/parentId/fileName/id :- KeyInfo.
    • DIRECTORY_TABLE

      public static final String DIRECTORY_TABLE
      See Also:
    • DIRECTORY_TABLE_DEF

      public static final org.apache.hadoop.hdds.utils.db.DBColumnFamilyDefinition<String,org.apache.hadoop.ozone.om.helpers.OmDirectoryInfo> DIRECTORY_TABLE_DEF
      directoryTable: /volumeId/bucketId/parentId/dirName :- DirInfo.
    • DELETED_DIR_TABLE

      public static final String DELETED_DIR_TABLE
      See Also:
    • DELETED_DIR_TABLE_DEF

      public static final org.apache.hadoop.hdds.utils.db.DBColumnFamilyDefinition<String,org.apache.hadoop.ozone.om.helpers.OmKeyInfo> DELETED_DIR_TABLE_DEF
      deletedDirectoryTable: /volumeId/bucketId/parentId/dirName/objectId :- KeyInfo.
    • TENANT_STATE_TABLE

      public static final String TENANT_STATE_TABLE
      See Also:
    • TENANT_STATE_TABLE_DEF

      public static final org.apache.hadoop.hdds.utils.db.DBColumnFamilyDefinition<String,org.apache.hadoop.ozone.om.helpers.OmDBTenantState> TENANT_STATE_TABLE_DEF
      tenantStateTable: tenantId :- OmDBTenantState.
    • TENANT_ACCESS_ID_TABLE

      public static final String TENANT_ACCESS_ID_TABLE
      See Also:
    • TENANT_ACCESS_ID_TABLE_DEF

      public static final org.apache.hadoop.hdds.utils.db.DBColumnFamilyDefinition<String,org.apache.hadoop.ozone.om.helpers.OmDBAccessIdInfo> TENANT_ACCESS_ID_TABLE_DEF
      tenantAccessIdTable: accessId :- OmDBAccessIdInfo.
    • PRINCIPAL_TO_ACCESS_IDS_TABLE

      public static final String PRINCIPAL_TO_ACCESS_IDS_TABLE
      See Also:
    • PRINCIPAL_TO_ACCESS_IDS_TABLE_DEF

      public static final org.apache.hadoop.hdds.utils.db.DBColumnFamilyDefinition<String,org.apache.hadoop.ozone.om.helpers.OmDBUserPrincipalInfo> PRINCIPAL_TO_ACCESS_IDS_TABLE_DEF
      principalToAccessIdsTable: userPrincipal :- OmDBUserPrincipalInfo.
    • SNAPSHOT_INFO_TABLE

      public static final String SNAPSHOT_INFO_TABLE
      See Also:
    • SNAPSHOT_INFO_TABLE_DEF

      public static final org.apache.hadoop.hdds.utils.db.DBColumnFamilyDefinition<String,org.apache.hadoop.ozone.om.helpers.SnapshotInfo> SNAPSHOT_INFO_TABLE_DEF
      snapshotInfoTable: /volume/bucket/snapshotName :- SnapshotInfo.
    • SNAPSHOT_RENAMED_TABLE

      public static final String SNAPSHOT_RENAMED_TABLE
      See Also:
    • SNAPSHOT_RENAMED_TABLE_DEF

      public static final org.apache.hadoop.hdds.utils.db.DBColumnFamilyDefinition<String,String> SNAPSHOT_RENAMED_TABLE_DEF
      snapshotRenamedTable: /volumeName/bucketName/objectID :- renameFrom.

      This table complements the keyTable (or fileTable) and dirTable entries of the immediately previous snapshot in the same snapshot scope (bucket or volume).

      Key/Dir renames between the two subsequent snapshots are captured, this information is used in SnapshotDeletingService to check if the renamedKey or renamedDir is present in the previous snapshot's keyTable (or fileTable).

    • COMPACTION_LOG_TABLE

      public static final String COMPACTION_LOG_TABLE
      See Also:
    • COMPACTION_LOG_TABLE_DEF

      public static final org.apache.hadoop.hdds.utils.db.DBColumnFamilyDefinition<String,org.apache.ozone.compaction.log.CompactionLogEntry> COMPACTION_LOG_TABLE_DEF
      compactionLogTable: dbTrxId-compactionTime :- compactionLogEntry.
  • Method Details

    • get

      public static OMDBDefinition get()
    • getName

      public String getName()
    • getLocationConfigKey

      public String getLocationConfigKey()