diff --git a/hadoop-ozone/interface-storage/src/main/java/org/apache/hadoop/ozone/om/OMMetadataManager.java b/hadoop-ozone/interface-storage/src/main/java/org/apache/hadoop/ozone/om/OMMetadataManager.java index da757e7fd5ba..02ef9bf12a3a 100644 --- a/hadoop-ozone/interface-storage/src/main/java/org/apache/hadoop/ozone/om/OMMetadataManager.java +++ b/hadoop-ozone/interface-storage/src/main/java/org/apache/hadoop/ozone/om/OMMetadataManager.java @@ -121,6 +121,7 @@ public interface OMMetadataManager extends DBStoreHAManager { * * @param volume - Volume name * @param bucket - Bucket name + * @return /volume/bucket/ */ String getBucketKeyPrefix(String volume, String bucket); @@ -129,6 +130,8 @@ public interface OMMetadataManager extends DBStoreHAManager { * * @param volume - Volume name * @param bucket - Bucket name + * @return /volumeId/bucketId/ + * e.g. /-9223372036854772480/-9223372036854771968/ */ String getBucketKeyPrefixFSO(String volume, String bucket) throws IOException; diff --git a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/OmSnapshotManager.java b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/OmSnapshotManager.java index 21f8b9fa28ff..11bcd51c9923 100644 --- a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/OmSnapshotManager.java +++ b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/OmSnapshotManager.java @@ -42,7 +42,6 @@ import static org.apache.hadoop.ozone.om.snapshot.SnapshotDiffManager.getSnapshotRootPath; import static org.apache.hadoop.ozone.om.snapshot.SnapshotUtils.checkSnapshotActive; import static org.apache.hadoop.ozone.om.snapshot.SnapshotUtils.dropColumnFamilyHandle; -import static org.apache.hadoop.ozone.om.snapshot.SnapshotUtils.getOzonePathKeyForFso; import static org.apache.hadoop.ozone.snapshot.SnapshotDiffResponse.JobStatus.DONE; import com.google.common.annotations.VisibleForTesting; @@ -499,8 +498,7 @@ private static void deleteKeysFromDelDirTableInSnapshotScope( String bucketName, BatchOperation batchOperation) throws IOException { // Range delete start key (inclusive) - final String keyPrefix = getOzonePathKeyForFso(omMetadataManager, - volumeName, bucketName); + final String keyPrefix = omMetadataManager.getBucketKeyPrefixFSO(volumeName, bucketName); try (TableIterator> iter = omMetadataManager.getDeletedDirTable().iterator(keyPrefix)) { @@ -566,7 +564,7 @@ private static void deleteKeysFromDelKeyTableInSnapshotScope( // Range delete start key (inclusive) final String keyPrefix = - omMetadataManager.getOzoneKey(volumeName, bucketName, ""); + omMetadataManager.getBucketKeyPrefix(volumeName, bucketName); try (TableIterator> diff --git a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/service/SnapshotDirectoryCleaningService.java b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/service/SnapshotDirectoryCleaningService.java index 654655680d48..ed79c13ff971 100644 --- a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/service/SnapshotDirectoryCleaningService.java +++ b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/service/SnapshotDirectoryCleaningService.java @@ -19,7 +19,6 @@ import static org.apache.hadoop.ozone.om.helpers.SnapshotInfo.SnapshotStatus.SNAPSHOT_ACTIVE; import static org.apache.hadoop.ozone.om.request.file.OMFileRequest.getDirectoryInfo; -import static org.apache.hadoop.ozone.om.snapshot.SnapshotUtils.getOzonePathKeyForFso; import static org.apache.hadoop.ozone.om.snapshot.SnapshotUtils.getPreviousSnapshot; import com.google.common.annotations.VisibleForTesting; @@ -207,7 +206,7 @@ public BackgroundTaskResult call() { .getKeyTable(bucketInfo.getBucketLayout()); } - String dbBucketKeyForDir = getOzonePathKeyForFso(metadataManager, + String dbBucketKeyForDir = metadataManager.getBucketKeyPrefixFSO( currSnapInfo.getVolumeName(), currSnapInfo.getBucketName()); try (ReferenceCounted rcCurrOmSnapshot = omSnapshotManager.getActiveSnapshot( diff --git a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/snapshot/SnapshotUtils.java b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/snapshot/SnapshotUtils.java index d3d12452bef8..3b1b54751192 100644 --- a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/snapshot/SnapshotUtils.java +++ b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/snapshot/SnapshotUtils.java @@ -36,7 +36,6 @@ import java.util.UUID; import org.apache.hadoop.hdds.utils.db.managed.ManagedRocksDB; import org.apache.hadoop.ozone.om.OMMetadataManager; -import org.apache.hadoop.ozone.om.OmMetadataManagerImpl; import org.apache.hadoop.ozone.om.OzoneManager; import org.apache.hadoop.ozone.om.SnapshotChainManager; import org.apache.hadoop.ozone.om.exceptions.OMException; @@ -221,9 +220,8 @@ public static Map getColumnFamilyToKeyPrefixMap( String volumeName, String bucketName ) throws IOException { - String keyPrefix = getOzonePathKey(volumeName, bucketName); - String keyPrefixFso = getOzonePathKeyForFso(omMetadataManager, volumeName, - bucketName); + String keyPrefix = omMetadataManager.getBucketKeyPrefix(volumeName, bucketName); + String keyPrefixFso = omMetadataManager.getBucketKeyPrefixFSO(volumeName, bucketName); Map columnFamilyToPrefixMap = new HashMap<>(); columnFamilyToPrefixMap.put(KEY_TABLE, keyPrefix); @@ -232,50 +230,6 @@ public static Map getColumnFamilyToKeyPrefixMap( return columnFamilyToPrefixMap; } - /** - * Helper method to generate /volumeName/bucketBucket/ DB key prefix from - * given volume name and bucket name as a prefix for legacy and OBS buckets. - * Follows: - * {@link OmMetadataManagerImpl#getOzonePathKey(long, long, long, String)}. - *

- * Note: Currently, this is only intended to be a special use case in - * Snapshot. If this is used elsewhere, consider moving this to - * {@link OMMetadataManager}. - * - * @param volumeName volume name - * @param bucketName bucket name - * @return /volumeName/bucketName/ - */ - public static String getOzonePathKey(String volumeName, - String bucketName) throws IOException { - return OM_KEY_PREFIX + volumeName + OM_KEY_PREFIX + bucketName + - OM_KEY_PREFIX; - } - - /** - * Helper method to generate /volumeId/bucketId/ DB key prefix from given - * volume name and bucket name as a prefix for FSO buckets. - * Follows: - * {@link OmMetadataManagerImpl#getOzonePathKey(long, long, long, String)}. - *

- * Note: Currently, this is only intended to be a special use case in - * Snapshot. If this is used elsewhere, consider moving this to - * {@link OMMetadataManager}. - * - * @param volumeName volume name - * @param bucketName bucket name - * @return /volumeId/bucketId/ - * e.g. /-9223372036854772480/-9223372036854771968/ - */ - public static String getOzonePathKeyForFso(OMMetadataManager metadataManager, - String volumeName, - String bucketName) - throws IOException { - final long volumeId = metadataManager.getVolumeId(volumeName); - final long bucketId = metadataManager.getBucketId(volumeName, bucketName); - return OM_KEY_PREFIX + volumeId + OM_KEY_PREFIX + bucketId + OM_KEY_PREFIX; - } - /** * Returns merged repeatedKeyInfo entry with the existing deleted entry in the table. * @param snapshotMoveKeyInfos keyInfos to be added. diff --git a/hadoop-ozone/ozone-manager/src/test/java/org/apache/hadoop/ozone/om/response/snapshot/TestOMSnapshotCreateResponse.java b/hadoop-ozone/ozone-manager/src/test/java/org/apache/hadoop/ozone/om/response/snapshot/TestOMSnapshotCreateResponse.java index 5e4148fb6865..031e6656b4b0 100644 --- a/hadoop-ozone/ozone-manager/src/test/java/org/apache/hadoop/ozone/om/response/snapshot/TestOMSnapshotCreateResponse.java +++ b/hadoop-ozone/ozone-manager/src/test/java/org/apache/hadoop/ozone/om/response/snapshot/TestOMSnapshotCreateResponse.java @@ -41,7 +41,6 @@ import org.apache.hadoop.ozone.om.helpers.OmKeyInfo; import org.apache.hadoop.ozone.om.helpers.RepeatedOmKeyInfo; import org.apache.hadoop.ozone.om.helpers.SnapshotInfo; -import org.apache.hadoop.ozone.om.snapshot.SnapshotUtils; import org.apache.hadoop.ozone.protocol.proto.OzoneManagerProtocolProtos; import org.apache.hadoop.ozone.protocol.proto.OzoneManagerProtocolProtos.CreateSnapshotResponse; import org.apache.hadoop.ozone.protocol.proto.OzoneManagerProtocolProtos.OMResponse; @@ -211,8 +210,7 @@ private Set addTestKeysToDeletedDirTable(String volumeName, // Add deletedDirectoryTable key entries that "surround" the snapshot scope Set sentinelKeys = new HashSet<>(); - final String dbKeyPfx = SnapshotUtils.getOzonePathKeyForFso( - omMetadataManager, volumeName, bucketName); + final String dbKeyPfx = omMetadataManager.getBucketKeyPrefixFSO(volumeName, bucketName); // Calculate offset to bucketId's last character in dbKeyPfx. // First -1 for offset, second -1 for second to last char (before '/')