This is an automated email from the ASF dual-hosted git repository.
rakeshr pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/ozone.git
The following commit(s) were added to refs/heads/master by this push:
new af5b48e HDDS-5636. Use bucket layout specific DB table in
OmMetadataManager:getOpenKeyTable(). (#2561)
af5b48e is described below
commit af5b48e4571e74fcad2e4546ff0efe79c3a96350
Author: Aryan Gupta <[email protected]>
AuthorDate: Fri Oct 1 16:19:16 2021 +0530
HDDS-5636. Use bucket layout specific DB table in
OmMetadataManager:getOpenKeyTable(). (#2561)
---
.../hadoop/fs/ozone/TestOzoneFileSystem.java | 4 ++
.../fs/ozone/TestOzoneFileSystemWithFSO.java | 7 ++-
.../rpc/TestOzoneClientMultipartUploadWithFSO.java | 30 +++++++--
.../apache/hadoop/ozone/om/TestKeyManagerImpl.java | 7 ++-
.../hadoop/ozone/om/TestObjectStoreWithFSO.java | 10 ++-
.../apache/hadoop/ozone/om/OMMetadataManager.java | 3 +-
.../org/apache/hadoop/ozone/om/KeyManagerImpl.java | 73 ++++++++++++++++------
.../hadoop/ozone/om/OmMetadataManagerImpl.java | 24 ++++---
.../ozone/om/request/file/OMFileCreateRequest.java | 2 +-
.../request/file/OMFileCreateRequestWithFSO.java | 6 ++
.../ozone/om/request/file/OMFileRequest.java | 18 +++---
.../om/request/key/OMAllocateBlockRequest.java | 9 +--
.../request/key/OMAllocateBlockRequestWithFSO.java | 6 ++
.../ozone/om/request/key/OMKeyCommitRequest.java | 5 +-
.../om/request/key/OMKeyCommitRequestWithFSO.java | 6 ++
.../ozone/om/request/key/OMKeyCreateRequest.java | 2 +-
.../om/request/key/OMKeyCreateRequestWithFSO.java | 6 ++
.../om/request/key/OMKeyDeleteRequestWithFSO.java | 6 ++
.../om/request/key/OMKeyRenameRequestWithFSO.java | 6 ++
.../hadoop/ozone/om/request/key/OMKeyRequest.java | 25 ++++----
.../om/request/key/OMPathsPurgeRequestWithFSO.java | 6 ++
.../S3InitiateMultipartUploadRequest.java | 2 +-
.../S3InitiateMultipartUploadRequestWithFSO.java | 6 ++
.../multipart/S3MultipartUploadAbortRequest.java | 16 ++---
.../S3MultipartUploadAbortRequestWithFSO.java | 6 ++
.../S3MultipartUploadCommitPartRequest.java | 4 +-
.../S3MultipartUploadCommitPartRequestWithFSO.java | 5 ++
.../S3MultipartUploadCompleteRequest.java | 5 +-
.../S3MultipartUploadCompleteRequestWithFSO.java | 6 ++
.../hadoop/ozone/om/response/OMClientResponse.java | 5 ++
.../response/file/OMFileCreateResponseWithFSO.java | 5 ++
.../om/response/key/OMAllocateBlockResponse.java | 4 +-
.../key/OMAllocateBlockResponseWithFSO.java | 6 ++
.../ozone/om/response/key/OMKeyCommitResponse.java | 4 +-
.../response/key/OMKeyCommitResponseWithFSO.java | 10 ++-
.../ozone/om/response/key/OMKeyCreateResponse.java | 4 +-
.../response/key/OMKeyDeleteResponseWithFSO.java | 6 ++
.../response/key/OMKeyRenameResponseWithFSO.java | 6 ++
.../om/response/key/OMOpenKeysDeleteRequest.java | 5 +-
.../om/response/key/OMOpenKeysDeleteResponse.java | 3 +-
.../response/key/OMPathsPurgeResponseWithFSO.java | 5 ++
.../S3InitiateMultipartUploadResponse.java | 4 +-
.../multipart/S3MultipartUploadAbortResponse.java | 4 +-
.../S3MultipartUploadAbortResponseWithFSO.java | 6 ++
.../S3MultipartUploadCommitPartResponse.java | 4 +-
...S3MultipartUploadCommitPartResponseWithFSO.java | 6 ++
.../S3MultipartUploadCompleteResponse.java | 11 +++-
.../ozone/om/request/TestOMRequestUtils.java | 20 +++---
.../file/TestOMFileCreateRequestWithFSO.java | 9 ++-
.../key/TestOMAllocateBlockRequestWithFSO.java | 18 ++++--
.../om/request/key/TestOMKeyCommitRequest.java | 6 +-
.../om/request/key/TestOMKeyCreateRequest.java | 44 ++++++++-----
.../request/key/TestOMKeyCreateRequestWithFSO.java | 9 ++-
.../ozone/om/request/key/TestOMKeyRequest.java | 8 ++-
.../request/key/TestOMOpenKeysDeleteRequest.java | 10 +--
.../TestS3InitiateMultipartUploadRequest.java | 25 +++++---
...estS3InitiateMultipartUploadRequestWithFSO.java | 10 ++-
.../s3/multipart/TestS3MultipartRequest.java | 5 ++
.../TestS3MultipartUploadAbortRequest.java | 4 +-
.../TestS3MultipartUploadCommitPartRequest.java | 5 +-
...tS3MultipartUploadCommitPartRequestWithFSO.java | 6 ++
.../TestS3MultipartUploadCompleteRequest.java | 3 +-
.../file/TestOMFileCreateResponseWithFSO.java | 6 ++
.../response/key/TestOMAllocateBlockResponse.java | 12 ++--
.../key/TestOMAllocateBlockResponseWithFSO.java | 5 ++
.../om/response/key/TestOMKeyCommitResponse.java | 12 ++--
.../key/TestOMKeyCommitResponseWithFSO.java | 6 ++
.../om/response/key/TestOMKeyCreateResponse.java | 12 ++--
.../key/TestOMKeyCreateResponseWithFSO.java | 6 ++
.../key/TestOMKeyDeleteResponseWithFSO.java | 6 ++
.../ozone/om/response/key/TestOMKeyResponse.java | 5 ++
.../response/key/TestOMOpenKeysDeleteResponse.java | 18 ++++--
.../TestS3InitiateMultipartUploadResponse.java | 3 +-
...stS3InitiateMultipartUploadResponseWithFSO.java | 9 ++-
.../s3/multipart/TestS3MultipartResponse.java | 15 +++--
.../TestS3MultipartUploadAbortResponse.java | 11 ++--
...S3MultipartUploadCommitPartResponseWithFSO.java | 15 ++++-
...stS3MultipartUploadCompleteResponseWithFSO.java | 21 ++++---
78 files changed, 560 insertions(+), 193 deletions(-)
diff --git
a/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/fs/ozone/TestOzoneFileSystem.java
b/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/fs/ozone/TestOzoneFileSystem.java
index 8eeae9a..42b999f 100644
---
a/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/fs/ozone/TestOzoneFileSystem.java
+++
b/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/fs/ozone/TestOzoneFileSystem.java
@@ -227,6 +227,10 @@ public class TestOzoneFileSystem {
return volumeName;
}
+ public BucketLayout getBucketLayout() {
+ return BucketLayout.DEFAULT;
+ }
+
@Test
public void testCreateFileShouldCheckExistenceOfDirWithSameName()
throws Exception {
diff --git
a/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/fs/ozone/TestOzoneFileSystemWithFSO.java
b/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/fs/ozone/TestOzoneFileSystemWithFSO.java
index 018f4f3..face6e8 100644
---
a/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/fs/ozone/TestOzoneFileSystemWithFSO.java
+++
b/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/fs/ozone/TestOzoneFileSystemWithFSO.java
@@ -439,7 +439,7 @@ public class TestOzoneFileSystemWithFSO extends
TestOzoneFileSystem {
// wait for DB updates
GenericTestUtils.waitFor(() -> {
try {
- return omMgr.getOpenKeyTable().isEmpty();
+ return omMgr.getOpenKeyTable(getBucketLayout()).isEmpty();
} catch (IOException e) {
LOG.error("DB failure!", e);
Assert.fail("DB failure!");
@@ -477,4 +477,9 @@ public class TestOzoneFileSystemWithFSO extends
TestOzoneFileSystem {
dbKey + ":" + dirInfo.getObjectID(), dirInfo.toString());
return dirInfo.getObjectID();
}
+
+ @Override
+ public BucketLayout getBucketLayout() {
+ return BucketLayout.FILE_SYSTEM_OPTIMIZED;
+ }
}
diff --git
a/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/ozone/client/rpc/TestOzoneClientMultipartUploadWithFSO.java
b/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/ozone/client/rpc/TestOzoneClientMultipartUploadWithFSO.java
index e8a97bf..1be4a79 100644
---
a/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/ozone/client/rpc/TestOzoneClientMultipartUploadWithFSO.java
+++
b/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/ozone/client/rpc/TestOzoneClientMultipartUploadWithFSO.java
@@ -36,19 +36,21 @@ import org.apache.hadoop.ozone.client.io.OzoneInputStream;
import org.apache.hadoop.ozone.client.io.OzoneOutputStream;
import org.apache.hadoop.ozone.om.OMConfigKeys;
import org.apache.hadoop.ozone.om.OMMetadataManager;
+import org.apache.hadoop.ozone.om.OzoneManager;
import org.apache.hadoop.ozone.om.exceptions.OMException;
import org.apache.hadoop.ozone.om.helpers.OmBucketInfo;
import org.apache.hadoop.ozone.om.helpers.OmKeyInfo;
import org.apache.hadoop.ozone.om.helpers.OmMultipartCommitUploadPartInfo;
import org.apache.hadoop.ozone.om.helpers.OmMultipartInfo;
+import org.apache.hadoop.ozone.om.helpers.BucketLayout;
+import org.apache.hadoop.ozone.om.helpers.OmMultipartKeyInfo;
+import org.apache.hadoop.ozone.om.helpers.OmMultipartUploadCompleteInfo;
+import org.apache.hadoop.ozone.om.helpers.OzoneFSUtils;
import static java.nio.charset.StandardCharsets.UTF_8;
import static org.apache.hadoop.hdds.StringUtils.string2Bytes;
import static org.apache.hadoop.hdds.client.ReplicationFactor.THREE;
-import org.apache.hadoop.ozone.om.helpers.OmMultipartKeyInfo;
-import org.apache.hadoop.ozone.om.helpers.OmMultipartUploadCompleteInfo;
-import org.apache.hadoop.ozone.om.helpers.OzoneFSUtils;
import org.apache.hadoop.ozone.om.request.TestOMRequestUtils;
import org.apache.hadoop.ozone.om.request.file.OMFileRequest;
import org.apache.hadoop.ozone.protocol.proto.OzoneManagerProtocolProtos;
@@ -556,6 +558,12 @@ public class TestOzoneClientMultipartUploadWithFSO {
OzoneVolume volume = store.getVolume(volumeName);
volume.createBucket(bucketName);
OzoneBucket bucket = volume.getBucket(bucketName);
+ OzoneManager ozoneManager = cluster.getOzoneManager();
+ String buckKey = ozoneManager.getMetadataManager()
+ .getBucketKey(volume.getName(), bucket.getName());
+ OmBucketInfo buckInfo =
+ ozoneManager.getMetadataManager().getBucketTable().get(buckKey);
+ BucketLayout bucketLayout = buckInfo.getBucketLayout();
String uploadID = initiateMultipartUpload(bucket, keyName, STAND_ALONE,
ONE);
@@ -572,7 +580,8 @@ public class TestOzoneClientMultipartUploadWithFSO {
String multipartOpenKey =
getMultipartOpenKey(uploadID, volumeName, bucketName, keyName,
metadataMgr);
- OmKeyInfo omKeyInfo = metadataMgr.getOpenKeyTable().get(multipartOpenKey);
+ OmKeyInfo omKeyInfo =
+ metadataMgr.getOpenKeyTable(bucketLayout).get(multipartOpenKey);
OmMultipartKeyInfo omMultipartKeyInfo =
metadataMgr.getMultipartInfoTable().get(multipartKey);
Assert.assertNull(omKeyInfo);
@@ -921,13 +930,20 @@ public class TestOzoneClientMultipartUploadWithFSO {
private String verifyUploadedPart(String volumeName, String bucketName,
String keyName, String uploadID, String partName,
OMMetadataManager metadataMgr) throws IOException {
+ OzoneManager ozoneManager = cluster.getOzoneManager();
+ String buckKey = ozoneManager.getMetadataManager()
+ .getBucketKey(volumeName, bucketName);
+ OmBucketInfo buckInfo =
+ ozoneManager.getMetadataManager().getBucketTable().get(buckKey);
+ BucketLayout bucketLayout = buckInfo.getBucketLayout();
String multipartOpenKey =
getMultipartOpenKey(uploadID, volumeName, bucketName, keyName,
metadataMgr);
String multipartKey = metadataMgr.getMultipartKey(volumeName, bucketName,
keyName, uploadID);
- OmKeyInfo omKeyInfo = metadataMgr.getOpenKeyTable().get(multipartOpenKey);
+ OmKeyInfo omKeyInfo =
+ metadataMgr.getOpenKeyTable(bucketLayout).get(multipartOpenKey);
OmMultipartKeyInfo omMultipartKeyInfo =
metadataMgr.getMultipartInfoTable().get(multipartKey);
@@ -1028,4 +1044,8 @@ public class TestOzoneClientMultipartUploadWithFSO {
return chars;
}
+ public BucketLayout getBucketLayout() {
+ return BucketLayout.FILE_SYSTEM_OPTIMIZED;
+ }
+
}
diff --git
a/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/ozone/om/TestKeyManagerImpl.java
b/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/ozone/om/TestKeyManagerImpl.java
index a06a48b..d037d51 100644
---
a/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/ozone/om/TestKeyManagerImpl.java
+++
b/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/ozone/om/TestKeyManagerImpl.java
@@ -82,6 +82,7 @@ import org.apache.hadoop.ozone.om.helpers.OpenKeySession;
import org.apache.hadoop.ozone.om.helpers.OzoneAclUtil;
import org.apache.hadoop.ozone.om.helpers.OzoneFSUtils;
import org.apache.hadoop.ozone.om.helpers.OzoneFileStatus;
+import org.apache.hadoop.ozone.om.helpers.BucketLayout;
import org.apache.hadoop.ozone.om.request.TestOMRequestUtils;
import org.apache.hadoop.ozone.security.acl.IAccessAuthorizer;
import org.apache.hadoop.ozone.security.acl.IAccessAuthorizer.ACLIdentityType;
@@ -272,7 +273,7 @@ public class TestKeyManagerImpl {
.setDataSize(0)
.setReplicationConfig(keyArgs.getReplicationConfig())
.setFileEncryptionInfo(null).build();
- metadataManager.getOpenKeyTable().put(
+ metadataManager.getOpenKeyTable(getBucketLayout()).put(
metadataManager.getOpenKey(VOLUME_NAME, BUCKET_NAME, KEY_NAME, 1L),
omKeyInfo);
LambdaTestUtils.intercept(OMException.class,
@@ -1492,4 +1493,8 @@ public class TestKeyManagerImpl {
.setAclType(ACLIdentityType.USER)
.build();
}
+
+ public BucketLayout getBucketLayout() {
+ return BucketLayout.LEGACY;
+ }
}
\ No newline at end of file
diff --git
a/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/ozone/om/TestObjectStoreWithFSO.java
b/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/ozone/om/TestObjectStoreWithFSO.java
index 14bccbd..c16c2c3 100644
---
a/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/ozone/om/TestObjectStoreWithFSO.java
+++
b/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/ozone/om/TestObjectStoreWithFSO.java
@@ -169,7 +169,8 @@ public class TestObjectStoreWithFSO {
Assert.assertTrue(ozoneBucket.getName().equals(bucketName));
Table<String, OmKeyInfo> openFileTable =
- cluster.getOzoneManager().getMetadataManager().getOpenKeyTable();
+ cluster.getOzoneManager().getMetadataManager()
+ .getOpenKeyTable(getBucketLayout());
// before file creation
verifyKeyInFileTable(openFileTable, file, 0, true);
@@ -225,7 +226,8 @@ public class TestObjectStoreWithFSO {
Assert.assertTrue(ozoneBucket.getName().equals(bucketName));
Table<String, OmKeyInfo> openFileTable =
- cluster.getOzoneManager().getMetadataManager().getOpenKeyTable();
+ cluster.getOzoneManager().getMetadataManager()
+ .getOpenKeyTable(getBucketLayout());
String data = "random data";
OzoneOutputStream ozoneOutputStream = ozoneBucket.createKey(key,
@@ -762,6 +764,10 @@ public class TestObjectStoreWithFSO {
}
}
+ public BucketLayout getBucketLayout() {
+ return BucketLayout.FILE_SYSTEM_OPTIMIZED;
+ }
+
/**
* Shutdown MiniDFSCluster.
*/
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 dba75b4..035cb04 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
@@ -36,6 +36,7 @@ import org.apache.hadoop.ozone.om.helpers.OmPrefixInfo;
import org.apache.hadoop.ozone.om.helpers.OmVolumeArgs;
import org.apache.hadoop.ozone.om.helpers.RepeatedOmKeyInfo;
import org.apache.hadoop.ozone.om.helpers.S3SecretValue;
+import org.apache.hadoop.ozone.om.helpers.BucketLayout;
import org.apache.hadoop.ozone.om.lock.OzoneManagerLock;
import org.apache.hadoop.hdds.utils.TransactionInfo;
import org.apache.hadoop.ozone.storage.proto.
@@ -311,7 +312,7 @@ public interface OMMetadataManager extends DBStoreHAManager
{
*
* @return Table.
*/
- Table<String, OmKeyInfo> getOpenKeyTable();
+ Table<String, OmKeyInfo> getOpenKeyTable(BucketLayout buckLayout);
/**
* Gets the DelegationTokenTable.
diff --git
a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/KeyManagerImpl.java
b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/KeyManagerImpl.java
index 343b8fc..aa6bcd5 100644
---
a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/KeyManagerImpl.java
+++
b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/KeyManagerImpl.java
@@ -326,7 +326,8 @@ public class KeyManagerImpl implements KeyManager {
String openKey = metadataManager.getOpenKey(
volumeName, bucketName, keyName, clientID);
- OmKeyInfo keyInfo = metadataManager.getOpenKeyTable().get(openKey);
+ OmKeyInfo keyInfo =
+ metadataManager.getOpenKeyTable(getBucketLayout()).get(openKey);
if (keyInfo == null) {
LOG.error("Allocate block for a key not in open status in meta store" +
" /{}/{}/{} with ID {}", volumeName, bucketName, keyName, clientID);
@@ -341,7 +342,7 @@ public class KeyManagerImpl implements KeyManager {
keyInfo.appendNewBlocks(locationInfos, true);
keyInfo.updateModifcationTime();
- metadataManager.getOpenKeyTable().put(openKey, keyInfo);
+ metadataManager.getOpenKeyTable(getBucketLayout()).put(openKey, keyInfo);
return locationInfos.get(0);
@@ -500,7 +501,7 @@ public class KeyManagerImpl implements KeyManager {
keyInfo.appendNewBlocks(locationInfos, true);
}
- metadataManager.getOpenKeyTable().put(openKey, keyInfo);
+ metadataManager.getOpenKeyTable(getBucketLayout()).put(openKey, keyInfo);
}
@@ -540,8 +541,8 @@ public class KeyManagerImpl implements KeyManager {
String multipartKey = metadataManager
.getMultipartKey(args.getVolumeName(), args.getBucketName(),
args.getKeyName(), uploadID);
- OmKeyInfo partKeyInfo = metadataManager.getOpenKeyTable().get(
- multipartKey);
+ OmKeyInfo partKeyInfo =
+ metadataManager.getOpenKeyTable(getBucketLayout()).get(multipartKey);
if (partKeyInfo == null) {
throw new OMException("No such Multipart upload is with specified " +
"uploadId " + uploadID,
@@ -606,7 +607,8 @@ public class KeyManagerImpl implements KeyManager {
metadataManager.getLock().acquireWriteLock(BUCKET_LOCK, volumeName,
bucketName);
OMFileRequest.validateBucket(metadataManager, volumeName, bucketName);
- OmKeyInfo keyInfo = metadataManager.getOpenKeyTable().get(openKey);
+ OmKeyInfo keyInfo =
+ metadataManager.getOpenKeyTable(getBucketLayout()).get(openKey);
if (keyInfo == null) {
throw new OMException("Failed to commit key, as " + openKey + "entry "
+
"is not found in the openKey table", KEY_NOT_FOUND);
@@ -620,7 +622,7 @@ public class KeyManagerImpl implements KeyManager {
openKey,
objectKey,
keyInfo,
- metadataManager.getOpenKeyTable(),
+ metadataManager.getOpenKeyTable(getBucketLayout()),
metadataManager.getKeyTable());
} catch (OMException e) {
throw e;
@@ -1083,7 +1085,7 @@ public class KeyManagerImpl implements KeyManager {
// this key.
metadataManager.getMultipartInfoTable().putWithBatch(batch,
multipartKey, multipartKeyInfo);
- metadataManager.getOpenKeyTable().putWithBatch(batch,
+ metadataManager.getOpenKeyTable(getBucketLayout()).putWithBatch(batch,
multipartKey, omKeyInfo);
store.commitBatchOperation(batch);
return new OmMultipartInfo(volumeName, bucketName, keyName,
@@ -1161,8 +1163,8 @@ public class KeyManagerImpl implements KeyManager {
String openKey = metadataManager.getOpenKey(
volumeName, bucketName, keyName, clientID);
- OmKeyInfo keyInfo = metadataManager.getOpenKeyTable().get(
- openKey);
+ OmKeyInfo keyInfo =
+ metadataManager.getOpenKeyTable(getBucketLayout()).get(openKey);
// set the data size and location info list
keyInfo.setDataSize(omKeyArgs.getDataSize());
@@ -1197,7 +1199,8 @@ public class KeyManagerImpl implements KeyManager {
// This is the first time part is being added.
DBStore store = metadataManager.getStore();
try (BatchOperation batch = store.initBatchOperation()) {
- metadataManager.getOpenKeyTable().deleteWithBatch(batch, openKey);
+ metadataManager.getOpenKeyTable(getBucketLayout())
+ .deleteWithBatch(batch, openKey);
metadataManager.getMultipartInfoTable().putWithBatch(batch,
multipartKey, multipartKeyInfo);
store.commitBatchOperation(batch);
@@ -1224,7 +1227,8 @@ public class KeyManagerImpl implements KeyManager {
metadataManager.getDeletedTable().putWithBatch(batch,
oldPartKeyInfo.getPartName(),
repeatedOmKeyInfo);
- metadataManager.getOpenKeyTable().deleteWithBatch(batch, openKey);
+ metadataManager.getOpenKeyTable(getBucketLayout())
+ .deleteWithBatch(batch, openKey);
metadataManager.getMultipartInfoTable().putWithBatch(batch,
multipartKey, multipartKeyInfo);
store.commitBatchOperation(batch);
@@ -1309,8 +1313,8 @@ public class KeyManagerImpl implements KeyManager {
bucketName, keyName, uploadID);
OmMultipartKeyInfo multipartKeyInfo = metadataManager
.getMultipartInfoTable().get(multipartKey);
- OmKeyInfo openKeyInfo = metadataManager.getOpenKeyTable().get(
- multipartKey);
+ OmKeyInfo openKeyInfo =
+ metadataManager.getOpenKeyTable(getBucketLayout()).get(multipartKey);
// If there is no entry in openKeyTable, then there is no multipart
// upload initiated for this key.
@@ -1347,8 +1351,8 @@ public class KeyManagerImpl implements KeyManager {
// key table
metadataManager.getMultipartInfoTable().deleteWithBatch(batch,
multipartKey);
- metadataManager.getOpenKeyTable().deleteWithBatch(batch,
- multipartKey);
+ metadataManager.getOpenKeyTable(getBucketLayout())
+ .deleteWithBatch(batch, multipartKey);
store.commitBatchOperation(batch);
}
}
@@ -1426,6 +1430,14 @@ public class KeyManagerImpl implements KeyManager {
Preconditions.checkNotNull(uploadID);
boolean isTruncated = false;
int nextPartNumberMarker = 0;
+ BucketLayout bucketLayout = BucketLayout.DEFAULT;
+ if (ozoneManager != null) {
+ String buckKey = ozoneManager.getMetadataManager()
+ .getBucketKey(volumeName, bucketName);
+ OmBucketInfo buckInfo =
+ ozoneManager.getMetadataManager().getBucketTable().get(buckKey);
+ bucketLayout = buckInfo.getBucketLayout();
+ }
metadataManager.getLock().acquireReadLock(BUCKET_LOCK, volumeName,
bucketName);
@@ -1482,7 +1494,8 @@ public class KeyManagerImpl implements KeyManager {
uploadID);
}
OmKeyInfo omKeyInfo =
- metadataManager.getOpenKeyTable().get(multipartKey);
+ metadataManager.getOpenKeyTable(bucketLayout)
+ .get(multipartKey);
if (omKeyInfo == null) {
throw new IllegalStateException(
@@ -1756,6 +1769,20 @@ public class KeyManagerImpl implements KeyManager {
.setKeyName(keyName)
.build();
+ BucketLayout bucketLayout = BucketLayout.DEFAULT;
+ if (ozoneManager != null) {
+ String buckKey =
+ ozoneManager.getMetadataManager().getBucketKey(volume, bucket);
+ OmBucketInfo buckInfo = null;
+ try {
+ buckInfo =
+ ozoneManager.getMetadataManager().getBucketTable().get(buckKey);
+ bucketLayout = buckInfo.getBucketLayout();
+ } catch (IOException e) {
+ LOG.error("Failed to get bucket for the key: " + buckKey, e);
+ }
+ }
+
metadataManager.getLock().acquireReadLock(BUCKET_LOCK, volume, bucket);
try {
OMFileRequest.validateBucket(metadataManager, volume, bucket);
@@ -1764,7 +1791,8 @@ public class KeyManagerImpl implements KeyManager {
// For Acl Type "WRITE", the key can only be found in
// OpenKeyTable since appends to existing keys are not supported.
if (context.getAclRights() == IAccessAuthorizer.ACLType.WRITE) {
- keyInfo = metadataManager.getOpenKeyTable().get(objectKey);
+ keyInfo =
+ metadataManager.getOpenKeyTable(bucketLayout).get(objectKey);
} else {
// Recursive check is done only for ACL_TYPE DELETE
// Rename and delete operations will send ACL_TYPE DELETE
@@ -1782,8 +1810,9 @@ public class KeyManagerImpl implements KeyManager {
if (context.getAclRights() == IAccessAuthorizer.ACLType.READ) {
return true;
} else {
- throw new OMException("Key not found, checkAccess failed. Key:" +
- objectKey, KEY_NOT_FOUND);
+ throw new OMException(
+ "Key not found, checkAccess failed. Key:" + objectKey,
+ KEY_NOT_FOUND);
}
}
}
@@ -3110,4 +3139,8 @@ public class KeyManagerImpl implements KeyManager {
}
return false;
}
+
+ public BucketLayout getBucketLayout() {
+ return BucketLayout.DEFAULT;
+ }
}
diff --git
a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/OmMetadataManagerImpl.java
b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/OmMetadataManagerImpl.java
index fdf1c61..a166f0d 100644
---
a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/OmMetadataManagerImpl.java
+++
b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/OmMetadataManagerImpl.java
@@ -71,6 +71,7 @@ import org.apache.hadoop.ozone.om.helpers.OmVolumeArgs;
import org.apache.hadoop.ozone.om.helpers.OzoneFSUtils;
import org.apache.hadoop.ozone.om.helpers.RepeatedOmKeyInfo;
import org.apache.hadoop.ozone.om.helpers.S3SecretValue;
+import org.apache.hadoop.ozone.om.helpers.BucketLayout;
import org.apache.hadoop.ozone.om.lock.OzoneManagerLock;
import org.apache.hadoop.hdds.utils.TransactionInfo;
import org.apache.hadoop.ozone.storage.proto
@@ -303,10 +304,8 @@ public class OmMetadataManagerImpl implements
OMMetadataManager {
}
@Override
- public Table<String, OmKeyInfo> getOpenKeyTable() {
- // TODO: Refactor the below function by reading bucketLayout.
- // Jira: HDDS-5636
- if (OzoneManagerRatisUtils.isBucketFSOptimized()) {
+ public Table getOpenKeyTable(BucketLayout bucketLayout) {
+ if (bucketLayout.equals(BucketLayout.FILE_SYSTEM_OPTIMIZED)) {
return openFileTable;
}
return openKeyTable;
@@ -1138,18 +1137,19 @@ public class OmMetadataManagerImpl implements
OMMetadataManager {
Duration.of(openKeyExpireThresholdMS, ChronoUnit.MILLIS);
List<String> expiredKeys = Lists.newArrayList();
- try (TableIterator<String, ? extends KeyValue<String, OmKeyInfo>>
- keyValueTableIterator = getOpenKeyTable().iterator()) {
+ try (
+ TableIterator<String, ? extends KeyValue<String, OmKeyInfo>>
+ keyValueTableIterator = getOpenKeyTable(
+ getBucketLayout()).iterator()) {
while (keyValueTableIterator.hasNext() && expiredKeys.size() < count) {
KeyValue<String, OmKeyInfo> openKeyValue =
keyValueTableIterator.next();
String openKey = openKeyValue.getKey();
OmKeyInfo openKeyInfo = openKeyValue.getValue();
- Duration openKeyAge =
- Duration.between(
- Instant.ofEpochMilli(openKeyInfo.getCreationTime()),
- Instant.now());
+ Duration openKeyAge = Duration
+ .between(Instant.ofEpochMilli(openKeyInfo.getCreationTime()),
+ Instant.now());
if (openKeyAge.compareTo(expirationDuration) >= 0) {
expiredKeys.add(openKey);
@@ -1301,4 +1301,8 @@ public class OmMetadataManagerImpl implements
OMMetadataManager {
openKey.append(OM_KEY_PREFIX).append(uploadId);
return openKey.toString();
}
+
+ public BucketLayout getBucketLayout() {
+ return BucketLayout.DEFAULT;
+ }
}
diff --git
a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/file/OMFileCreateRequest.java
b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/file/OMFileCreateRequest.java
index 88dbdd5..0b17b58 100644
---
a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/file/OMFileCreateRequest.java
+++
b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/file/OMFileCreateRequest.java
@@ -276,7 +276,7 @@ public class OMFileCreateRequest extends OMKeyRequest {
// Add to cache entry can be done outside of lock for this openKey.
// Even if bucket gets deleted, when commitKey we shall identify if
// bucket gets deleted.
- omMetadataManager.getOpenKeyTable().addCacheEntry(
+ omMetadataManager.getOpenKeyTable(getBucketLayout()).addCacheEntry(
new CacheKey<>(dbOpenKeyName),
new CacheValue<>(Optional.of(omKeyInfo), trxnLogIndex));
diff --git
a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/file/OMFileCreateRequestWithFSO.java
b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/file/OMFileCreateRequestWithFSO.java
index df0d0e9..736f4a1 100644
---
a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/file/OMFileCreateRequestWithFSO.java
+++
b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/file/OMFileCreateRequestWithFSO.java
@@ -28,6 +28,7 @@ import org.apache.hadoop.ozone.om.helpers.OmBucketInfo;
import org.apache.hadoop.ozone.om.helpers.OmDirectoryInfo;
import org.apache.hadoop.ozone.om.helpers.OmKeyInfo;
import org.apache.hadoop.ozone.om.helpers.OmKeyLocationInfo;
+import org.apache.hadoop.ozone.om.helpers.BucketLayout;
import org.apache.hadoop.ozone.om.ratis.utils.OzoneManagerDoubleBufferHelper;
import org.apache.hadoop.ozone.om.request.util.OmResponseUtil;
import org.apache.hadoop.ozone.om.response.OMClientResponse;
@@ -64,6 +65,11 @@ public class OMFileCreateRequestWithFSO extends
OMFileCreateRequest {
}
@Override
+ public BucketLayout getBucketLayout() {
+ return BucketLayout.FILE_SYSTEM_OPTIMIZED;
+ }
+
+ @Override
@SuppressWarnings("methodlength")
public OMClientResponse validateAndUpdateCache(OzoneManager ozoneManager,
long trxnLogIndex, OzoneManagerDoubleBufferHelper omDoubleBufferHelper) {
diff --git
a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/file/OMFileRequest.java
b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/file/OMFileRequest.java
index 44c1ae4..af245ab 100644
---
a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/file/OMFileRequest.java
+++
b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/file/OMFileRequest.java
@@ -46,6 +46,7 @@ import org.apache.hadoop.ozone.om.helpers.OmKeyInfo;
import org.apache.hadoop.ozone.om.helpers.OmKeyLocationInfoGroup;
import org.apache.hadoop.ozone.om.helpers.OzoneFSUtils;
import org.apache.hadoop.ozone.om.helpers.OzoneFileStatus;
+import org.apache.hadoop.ozone.om.helpers.BucketLayout;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
import org.slf4j.Logger;
@@ -463,8 +464,8 @@ public final class OMFileRequest {
keyInfoOptional = Optional.of(omFileInfo);
}
- omMetadataManager.getOpenKeyTable().addCacheEntry(
- new CacheKey<>(dbOpenFileName),
+ omMetadataManager.getOpenKeyTable(BucketLayout.FILE_SYSTEM_OPTIMIZED)
+ .addCacheEntry(new CacheKey<>(dbOpenFileName),
new CacheValue<>(keyInfoOptional, trxnLogIndex));
}
@@ -511,8 +512,8 @@ public final class OMFileRequest {
omFileInfo.getParentObjectID(), omFileInfo.getFileName(),
openKeySessionID);
- omMetadataMgr.getOpenKeyTable().putWithBatch(batchOp, dbOpenFileKey,
- omFileInfo);
+ omMetadataMgr.getOpenKeyTable(BucketLayout.FILE_SYSTEM_OPTIMIZED)
+ .putWithBatch(batchOp, dbOpenFileKey, omFileInfo);
}
/**
@@ -533,8 +534,8 @@ public final class OMFileRequest {
omFileInfo.getParentObjectID(), omFileInfo.getFileName(),
uploadID);
- omMetadataMgr.getOpenKeyTable().putWithBatch(batchOp, multipartFileKey,
- omFileInfo);
+ omMetadataMgr.getOpenKeyTable(BucketLayout.FILE_SYSTEM_OPTIMIZED)
+ .putWithBatch(batchOp, multipartFileKey, omFileInfo);
return multipartFileKey;
}
@@ -579,7 +580,9 @@ public final class OMFileRequest {
OmKeyInfo dbOmKeyInfo;
if (openFileTable) {
- dbOmKeyInfo = omMetadataMgr.getOpenKeyTable().get(dbOpenFileKey);
+ dbOmKeyInfo =
+ omMetadataMgr.getOpenKeyTable(BucketLayout.FILE_SYSTEM_OPTIMIZED)
+ .get(dbOpenFileKey);
} else {
dbOmKeyInfo = omMetadataMgr.getKeyTable().get(dbOpenFileKey);
}
@@ -969,4 +972,5 @@ public final class OMFileRequest {
BUCKET_NOT_FOUND);
}
}
+
}
diff --git
a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/key/OMAllocateBlockRequest.java
b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/key/OMAllocateBlockRequest.java
index 18224cd..87cce2d 100644
---
a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/key/OMAllocateBlockRequest.java
+++
b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/key/OMAllocateBlockRequest.java
@@ -184,9 +184,10 @@ public class OMAllocateBlockRequest extends OMKeyRequest {
// Here we don't acquire bucket/volume lock because for a single client
// allocateBlock is called in serial fashion.
- openKeyName = omMetadataManager.getOpenKey(volumeName, bucketName,
- keyName, clientID);
- openKeyInfo = omMetadataManager.getOpenKeyTable().get(openKeyName);
+ openKeyName = omMetadataManager
+ .getOpenKey(volumeName, bucketName, keyName, clientID);
+ openKeyInfo =
+
omMetadataManager.getOpenKeyTable(getBucketLayout()).get(openKeyName);
if (openKeyInfo == null) {
throw new OMException("Open Key not found " + openKeyName,
KEY_NOT_FOUND);
@@ -213,7 +214,7 @@ public class OMAllocateBlockRequest extends OMKeyRequest {
openKeyInfo.setUpdateID(trxnLogIndex, ozoneManager.isRatisEnabled());
// Add to cache.
- omMetadataManager.getOpenKeyTable().addCacheEntry(
+ omMetadataManager.getOpenKeyTable(getBucketLayout()).addCacheEntry(
new CacheKey<>(openKeyName),
new CacheValue<>(Optional.of(openKeyInfo), trxnLogIndex));
diff --git
a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/key/OMAllocateBlockRequestWithFSO.java
b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/key/OMAllocateBlockRequestWithFSO.java
index 98184f9..f1ced3f 100644
---
a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/key/OMAllocateBlockRequestWithFSO.java
+++
b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/key/OMAllocateBlockRequestWithFSO.java
@@ -30,6 +30,7 @@ import org.apache.hadoop.ozone.om.helpers.OmBucketInfo;
import org.apache.hadoop.ozone.om.helpers.OmKeyInfo;
import org.apache.hadoop.ozone.om.helpers.OmKeyLocationInfo;
import org.apache.hadoop.ozone.om.helpers.OzoneFSUtils;
+import org.apache.hadoop.ozone.om.helpers.BucketLayout;
import org.apache.hadoop.ozone.om.ratis.utils.OzoneManagerDoubleBufferHelper;
import org.apache.hadoop.ozone.om.request.file.OMFileRequest;
import org.apache.hadoop.ozone.om.request.util.OmResponseUtil;
@@ -70,6 +71,11 @@ public class OMAllocateBlockRequestWithFSO extends
OMAllocateBlockRequest {
}
@Override
+ public BucketLayout getBucketLayout() {
+ return BucketLayout.FILE_SYSTEM_OPTIMIZED;
+ }
+
+ @Override
public OMClientResponse validateAndUpdateCache(OzoneManager ozoneManager,
long trxnLogIndex, OzoneManagerDoubleBufferHelper omDoubleBufferHelper) {
diff --git
a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/key/OMKeyCommitRequest.java
b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/key/OMKeyCommitRequest.java
index 3d20b7b..ff53faa 100644
---
a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/key/OMKeyCommitRequest.java
+++
b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/key/OMKeyCommitRequest.java
@@ -174,7 +174,8 @@ public class OMKeyCommitRequest extends OMKeyRequest {
}
}
- omKeyInfo = omMetadataManager.getOpenKeyTable().get(dbOpenKey);
+ omKeyInfo =
+ omMetadataManager.getOpenKeyTable(getBucketLayout()).get(dbOpenKey);
if (omKeyInfo == null) {
throw new OMException("Failed to commit key, as " + dbOpenKey +
"entry is not found in the OpenKey table", KEY_NOT_FOUND);
@@ -192,7 +193,7 @@ public class OMKeyCommitRequest extends OMKeyRequest {
omKeyInfo.setUpdateID(trxnLogIndex, ozoneManager.isRatisEnabled());
// Add to cache of open key table and key table.
- omMetadataManager.getOpenKeyTable().addCacheEntry(
+ omMetadataManager.getOpenKeyTable(getBucketLayout()).addCacheEntry(
new CacheKey<>(dbOpenKey),
new CacheValue<>(Optional.absent(), trxnLogIndex));
diff --git
a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/key/OMKeyCommitRequestWithFSO.java
b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/key/OMKeyCommitRequestWithFSO.java
index c871761..0b90eb0 100644
---
a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/key/OMKeyCommitRequestWithFSO.java
+++
b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/key/OMKeyCommitRequestWithFSO.java
@@ -25,6 +25,7 @@ import org.apache.hadoop.ozone.om.OMMetrics;
import org.apache.hadoop.ozone.om.OzoneManager;
import org.apache.hadoop.ozone.om.exceptions.OMException;
import org.apache.hadoop.ozone.om.helpers.OmBucketInfo;
+import org.apache.hadoop.ozone.om.helpers.BucketLayout;
import org.apache.hadoop.ozone.om.helpers.OmKeyInfo;
import org.apache.hadoop.ozone.om.helpers.OmKeyLocationInfo;
import org.apache.hadoop.ozone.om.helpers.OzoneFSUtils;
@@ -187,4 +188,9 @@ public class OMKeyCommitRequestWithFSO extends
OMKeyCommitRequest {
return omClientResponse;
}
+
+ @Override
+ public BucketLayout getBucketLayout() {
+ return BucketLayout.FILE_SYSTEM_OPTIMIZED;
+ }
}
diff --git
a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/key/OMKeyCreateRequest.java
b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/key/OMKeyCreateRequest.java
index 0bd82ea..7cd61f2 100644
---
a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/key/OMKeyCreateRequest.java
+++
b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/key/OMKeyCreateRequest.java
@@ -310,7 +310,7 @@ public class OMKeyCreateRequest extends OMKeyRequest {
// Add to cache entry can be done outside of lock for this openKey.
// Even if bucket gets deleted, when commitKey we shall identify if
// bucket gets deleted.
- omMetadataManager.getOpenKeyTable().addCacheEntry(
+ omMetadataManager.getOpenKeyTable(getBucketLayout()).addCacheEntry(
new CacheKey<>(dbOpenKeyName),
new CacheValue<>(Optional.of(omKeyInfo), trxnLogIndex));
diff --git
a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/key/OMKeyCreateRequestWithFSO.java
b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/key/OMKeyCreateRequestWithFSO.java
index 891822c..84f8787 100644
---
a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/key/OMKeyCreateRequestWithFSO.java
+++
b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/key/OMKeyCreateRequestWithFSO.java
@@ -27,6 +27,7 @@ import org.apache.hadoop.ozone.om.exceptions.OMException;
import org.apache.hadoop.ozone.om.helpers.OmBucketInfo;
import org.apache.hadoop.ozone.om.helpers.OmDirectoryInfo;
import org.apache.hadoop.ozone.om.helpers.OmKeyInfo;
+import org.apache.hadoop.ozone.om.helpers.BucketLayout;
import org.apache.hadoop.ozone.om.helpers.OmKeyLocationInfo;
import org.apache.hadoop.ozone.om.ratis.utils.OzoneManagerDoubleBufferHelper;
import org.apache.hadoop.ozone.om.request.file.OMDirectoryCreateRequestWithFSO;
@@ -230,4 +231,9 @@ public class OMKeyCreateRequestWithFSO extends
OMKeyCreateRequest {
return omClientResponse;
}
+
+ @Override
+ public BucketLayout getBucketLayout() {
+ return BucketLayout.FILE_SYSTEM_OPTIMIZED;
+ }
}
diff --git
a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/key/OMKeyDeleteRequestWithFSO.java
b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/key/OMKeyDeleteRequestWithFSO.java
index 8dfc8d5..1dae0da 100644
---
a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/key/OMKeyDeleteRequestWithFSO.java
+++
b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/key/OMKeyDeleteRequestWithFSO.java
@@ -30,6 +30,7 @@ import org.apache.hadoop.ozone.om.exceptions.OMException;
import org.apache.hadoop.ozone.om.helpers.OmBucketInfo;
import org.apache.hadoop.ozone.om.helpers.OmKeyInfo;
import org.apache.hadoop.ozone.om.helpers.OzoneFileStatus;
+import org.apache.hadoop.ozone.om.helpers.BucketLayout;
import org.apache.hadoop.ozone.om.helpers.OzoneFSUtils;
import org.apache.hadoop.ozone.om.ratis.utils.OzoneManagerDoubleBufferHelper;
import org.apache.hadoop.ozone.om.request.file.OMFileRequest;
@@ -202,4 +203,9 @@ public class OMKeyDeleteRequestWithFSO extends
OMKeyDeleteRequest {
return omClientResponse;
}
+
+ @Override
+ public BucketLayout getBucketLayout() {
+ return BucketLayout.FILE_SYSTEM_OPTIMIZED;
+ }
}
diff --git
a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/key/OMKeyRenameRequestWithFSO.java
b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/key/OMKeyRenameRequestWithFSO.java
index 86fe2e9..fd65d02 100644
---
a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/key/OMKeyRenameRequestWithFSO.java
+++
b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/key/OMKeyRenameRequestWithFSO.java
@@ -31,6 +31,7 @@ import org.apache.hadoop.ozone.om.OzoneManager;
import org.apache.hadoop.ozone.om.exceptions.OMException;
import org.apache.hadoop.ozone.om.helpers.OmDirectoryInfo;
import org.apache.hadoop.ozone.om.helpers.OmKeyInfo;
+import org.apache.hadoop.ozone.om.helpers.BucketLayout;
import org.apache.hadoop.ozone.om.helpers.OzoneFSUtils;
import org.apache.hadoop.ozone.om.helpers.OzoneFileStatus;
import org.apache.hadoop.ozone.om.ratis.utils.OzoneManagerDoubleBufferHelper;
@@ -298,4 +299,9 @@ public class OMKeyRenameRequestWithFSO extends
OMKeyRenameRequest {
auditMap.put(OzoneConsts.DST_KEY, renameKeyRequest.getToKeyName());
return auditMap;
}
+
+ @Override
+ public BucketLayout getBucketLayout() {
+ return BucketLayout.FILE_SYSTEM_OPTIMIZED;
+ }
}
diff --git
a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/key/OMKeyRequest.java
b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/key/OMKeyRequest.java
index b9c362f..7428bb5 100644
---
a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/key/OMKeyRequest.java
+++
b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/key/OMKeyRequest.java
@@ -47,6 +47,7 @@ import
org.apache.hadoop.ozone.om.helpers.OmKeyLocationInfoGroup;
import org.apache.hadoop.ozone.om.helpers.OmPrefixInfo;
import org.apache.hadoop.ozone.om.helpers.OmVolumeArgs;
import org.apache.hadoop.ozone.om.helpers.OzoneAclUtil;
+import org.apache.hadoop.ozone.om.helpers.BucketLayout;
import org.apache.hadoop.ozone.om.request.file.OMFileRequest;
import org.apache.hadoop.ozone.protocolPB.OMPBHelper;
import org.apache.hadoop.ozone.security.acl.IAccessAuthorizer;
@@ -97,6 +98,10 @@ public abstract class OMKeyRequest extends OMClientRequest {
super(omRequest);
}
+ public BucketLayout getBucketLayout() {
+ return BucketLayout.DEFAULT;
+ }
+
protected KeyArgs resolveBucketLink(
OzoneManager ozoneManager, KeyArgs keyArgs,
Map<String, String> auditMap) throws IOException {
@@ -452,23 +457,21 @@ public abstract class OMKeyRequest extends
OMClientRequest {
acquireLock = omMetadataManager.getLock().acquireReadLock(
BUCKET_LOCK, volumeName, bucketName);
try {
-
ResolvedBucket resolvedBucket = ozoneManager.resolveBucketLink(
Pair.of(keyArgs.getVolumeName(), keyArgs.getBucketName()));
-
- OmKeyInfo omKeyInfo = omMetadataManager.getOpenKeyTable().get(
- omMetadataManager.getMultipartKey(resolvedBucket.realVolume(),
- resolvedBucket.realBucket(), keyArgs.getKeyName(),
- keyArgs.getMultipartUploadID()));
-
+ OmKeyInfo omKeyInfo =
+ omMetadataManager.getOpenKeyTable(getBucketLayout()).get(
+ omMetadataManager.getMultipartKey(resolvedBucket.realVolume(),
+ resolvedBucket.realBucket(), keyArgs.getKeyName(),
+ keyArgs.getMultipartUploadID()));
if (omKeyInfo != null && omKeyInfo.getFileEncryptionInfo() != null) {
newKeyArgs.setFileEncryptionInfo(
OMPBHelper.convert(omKeyInfo.getFileEncryptionInfo()));
}
} finally {
if (acquireLock) {
- omMetadataManager.getLock().releaseReadLock(
- BUCKET_LOCK, volumeName, bucketName);
+ omMetadataManager.getLock()
+ .releaseReadLock(BUCKET_LOCK, volumeName, bucketName);
}
}
}
@@ -721,8 +724,8 @@ public abstract class OMKeyRequest extends OMClientRequest {
.getMultipartKey(args.getVolumeName(), args.getBucketName(),
args.getKeyName(), uploadID);
}
- OmKeyInfo partKeyInfo = omMetadataManager.getOpenKeyTable().get(
- multipartKey);
+ OmKeyInfo partKeyInfo =
+ omMetadataManager.getOpenKeyTable(getBucketLayout()).get(multipartKey);
if (partKeyInfo == null) {
throw new OMException("No such Multipart upload is with specified " +
"uploadId " + uploadID,
diff --git
a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/key/OMPathsPurgeRequestWithFSO.java
b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/key/OMPathsPurgeRequestWithFSO.java
index 4515cd5..e2d8a8c 100644
---
a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/key/OMPathsPurgeRequestWithFSO.java
+++
b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/key/OMPathsPurgeRequestWithFSO.java
@@ -19,6 +19,7 @@
package org.apache.hadoop.ozone.om.request.key;
import org.apache.hadoop.ozone.om.OzoneManager;
+import org.apache.hadoop.ozone.om.helpers.BucketLayout;
import org.apache.hadoop.ozone.om.ratis.utils.OzoneManagerDoubleBufferHelper;
import org.apache.hadoop.ozone.om.request.util.OmResponseUtil;
import org.apache.hadoop.ozone.om.response.OMClientResponse;
@@ -61,4 +62,9 @@ public class OMPathsPurgeRequestWithFSO extends OMKeyRequest {
return omClientResponse;
}
+
+ @Override
+ public BucketLayout getBucketLayout() {
+ return BucketLayout.FILE_SYSTEM_OPTIMIZED;
+ }
}
diff --git
a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/s3/multipart/S3InitiateMultipartUploadRequest.java
b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/s3/multipart/S3InitiateMultipartUploadRequest.java
index 5746937..0d400ab 100644
---
a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/s3/multipart/S3InitiateMultipartUploadRequest.java
+++
b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/s3/multipart/S3InitiateMultipartUploadRequest.java
@@ -198,7 +198,7 @@ public class S3InitiateMultipartUploadRequest extends
OMKeyRequest {
.build();
// Add to cache
- omMetadataManager.getOpenKeyTable().addCacheEntry(
+ omMetadataManager.getOpenKeyTable(getBucketLayout()).addCacheEntry(
new CacheKey<>(multipartKey),
new CacheValue<>(Optional.of(omKeyInfo), transactionLogIndex));
omMetadataManager.getMultipartInfoTable().addCacheEntry(
diff --git
a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/s3/multipart/S3InitiateMultipartUploadRequestWithFSO.java
b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/s3/multipart/S3InitiateMultipartUploadRequestWithFSO.java
index da13536..f1a4f45 100644
---
a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/s3/multipart/S3InitiateMultipartUploadRequestWithFSO.java
+++
b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/s3/multipart/S3InitiateMultipartUploadRequestWithFSO.java
@@ -28,6 +28,7 @@ import org.apache.hadoop.ozone.om.OzoneManager;
import org.apache.hadoop.ozone.om.exceptions.OMException;
import org.apache.hadoop.ozone.om.helpers.OmDirectoryInfo;
import org.apache.hadoop.ozone.om.helpers.OmKeyInfo;
+import org.apache.hadoop.ozone.om.helpers.BucketLayout;
import org.apache.hadoop.ozone.om.helpers.OmKeyLocationInfoGroup;
import org.apache.hadoop.ozone.om.helpers.OmMultipartKeyInfo;
import org.apache.hadoop.ozone.om.helpers.OzoneAclUtil;
@@ -248,4 +249,9 @@ public class S3InitiateMultipartUploadRequestWithFSO
OMException.ResultCodes.NOT_A_FILE);
}
}
+
+ @Override
+ public BucketLayout getBucketLayout() {
+ return BucketLayout.FILE_SYSTEM_OPTIMIZED;
+ }
}
diff --git
a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/s3/multipart/S3MultipartUploadAbortRequest.java
b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/s3/multipart/S3MultipartUploadAbortRequest.java
index 5d248f7..4358372 100644
---
a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/s3/multipart/S3MultipartUploadAbortRequest.java
+++
b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/s3/multipart/S3MultipartUploadAbortRequest.java
@@ -138,8 +138,8 @@ public class S3MultipartUploadAbortRequest extends
OMKeyRequest {
OMException.ResultCodes.NO_SUCH_MULTIPART_UPLOAD_ERROR);
}
- OmKeyInfo omKeyInfo =
- omMetadataManager.getOpenKeyTable().get(multipartOpenKey);
+ OmKeyInfo omKeyInfo =
omMetadataManager.getOpenKeyTable(getBucketLayout())
+ .get(multipartOpenKey);
omBucketInfo = getBucketInfo(omMetadataManager, volumeName, bucketName);
// If there is no entry in openKeyTable, then there is no multipart
@@ -171,12 +171,12 @@ public class S3MultipartUploadAbortRequest extends
OMKeyRequest {
// Update cache of openKeyTable and multipartInfo table.
// No need to add the cache entries to delete table, as the entries
// in delete table are not used by any read/write operations.
- omMetadataManager.getOpenKeyTable().addCacheEntry(
- new CacheKey<>(multipartOpenKey),
- new CacheValue<>(Optional.absent(), trxnLogIndex));
- omMetadataManager.getMultipartInfoTable().addCacheEntry(
- new CacheKey<>(multipartKey),
- new CacheValue<>(Optional.absent(), trxnLogIndex));
+ omMetadataManager.getOpenKeyTable(getBucketLayout())
+ .addCacheEntry(new CacheKey<>(multipartOpenKey),
+ new CacheValue<>(Optional.absent(), trxnLogIndex));
+ omMetadataManager.getMultipartInfoTable()
+ .addCacheEntry(new CacheKey<>(multipartKey),
+ new CacheValue<>(Optional.absent(), trxnLogIndex));
omClientResponse = getOmClientResponse(ozoneManager, multipartKeyInfo,
multipartKey, multipartOpenKey, omResponse, omBucketInfo);
diff --git
a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/s3/multipart/S3MultipartUploadAbortRequestWithFSO.java
b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/s3/multipart/S3MultipartUploadAbortRequestWithFSO.java
index fe4d49a..8e831f6 100644
---
a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/s3/multipart/S3MultipartUploadAbortRequestWithFSO.java
+++
b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/s3/multipart/S3MultipartUploadAbortRequestWithFSO.java
@@ -20,6 +20,7 @@ package org.apache.hadoop.ozone.om.request.s3.multipart;
import org.apache.hadoop.ozone.om.OMMetadataManager;
import org.apache.hadoop.ozone.om.OzoneManager;
+import org.apache.hadoop.ozone.om.helpers.BucketLayout;
import org.apache.hadoop.ozone.om.helpers.OmBucketInfo;
import org.apache.hadoop.ozone.om.helpers.OmMultipartKeyInfo;
import org.apache.hadoop.ozone.om.helpers.OzoneFSUtils;
@@ -86,4 +87,9 @@ public class S3MultipartUploadAbortRequestWithFSO
return multipartKey;
}
+
+ @Override
+ public BucketLayout getBucketLayout() {
+ return BucketLayout.FILE_SYSTEM_OPTIMIZED;
+ }
}
diff --git
a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/s3/multipart/S3MultipartUploadCommitPartRequest.java
b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/s3/multipart/S3MultipartUploadCommitPartRequest.java
index 239db07..cd4c293 100644
---
a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/s3/multipart/S3MultipartUploadCommitPartRequest.java
+++
b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/s3/multipart/S3MultipartUploadCommitPartRequest.java
@@ -213,7 +213,7 @@ public class S3MultipartUploadCommitPartRequest extends
OMKeyRequest {
new CacheValue<>(Optional.of(multipartKeyInfo),
trxnLogIndex));
- omMetadataManager.getOpenKeyTable().addCacheEntry(
+ omMetadataManager.getOpenKeyTable(getBucketLayout()).addCacheEntry(
new CacheKey<>(openKey),
new CacheValue<>(Optional.absent(), trxnLogIndex));
@@ -282,7 +282,7 @@ public class S3MultipartUploadCommitPartRequest extends
OMKeyRequest {
protected OmKeyInfo getOmKeyInfo(OMMetadataManager omMetadataManager,
String openKey, String keyName) throws IOException {
- return omMetadataManager.getOpenKeyTable().get(openKey);
+ return omMetadataManager.getOpenKeyTable(getBucketLayout()).get(openKey);
}
protected String getOpenKey(String volumeName, String bucketName,
diff --git
a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/s3/multipart/S3MultipartUploadCommitPartRequestWithFSO.java
b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/s3/multipart/S3MultipartUploadCommitPartRequestWithFSO.java
index dacdb53..9d03e29 100644
---
a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/s3/multipart/S3MultipartUploadCommitPartRequestWithFSO.java
+++
b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/s3/multipart/S3MultipartUploadCommitPartRequestWithFSO.java
@@ -22,6 +22,7 @@ import org.apache.hadoop.ozone.om.OMMetadataManager;
import org.apache.hadoop.ozone.om.OzoneManager;
import org.apache.hadoop.ozone.om.helpers.OmBucketInfo;
import org.apache.hadoop.ozone.om.helpers.OmKeyInfo;
+import org.apache.hadoop.ozone.om.helpers.BucketLayout;
import org.apache.hadoop.ozone.om.helpers.OmMultipartKeyInfo;
import org.apache.hadoop.ozone.om.helpers.OzoneFSUtils;
import org.apache.hadoop.ozone.om.request.file.OMFileRequest;
@@ -84,4 +85,8 @@ public class S3MultipartUploadCommitPartRequestWithFSO
ozoneManager.isRatisEnabled(), omBucketInfo);
}
+ @Override
+ public BucketLayout getBucketLayout() {
+ return BucketLayout.FILE_SYSTEM_OPTIMIZED;
+ }
}
diff --git
a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/s3/multipart/S3MultipartUploadCompleteRequest.java
b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/s3/multipart/S3MultipartUploadCompleteRequest.java
index 8ac3f4f..6abdb63 100644
---
a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/s3/multipart/S3MultipartUploadCompleteRequest.java
+++
b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/s3/multipart/S3MultipartUploadCompleteRequest.java
@@ -383,7 +383,8 @@ public class S3MultipartUploadCompleteRequest extends
OMKeyRequest {
protected OmKeyInfo getOmKeyInfoFromOpenKeyTable(String dbMultipartKey,
String keyName, OMMetadataManager omMetadataManager) throws IOException {
- return omMetadataManager.getOpenKeyTable().get(dbMultipartKey);
+ return omMetadataManager.getOpenKeyTable(getBucketLayout())
+ .get(dbMultipartKey);
}
protected void addKeyTableCacheEntry(OMMetadataManager omMetadataManager,
@@ -496,7 +497,7 @@ public class S3MultipartUploadCompleteRequest extends
OMKeyRequest {
addKeyTableCacheEntry(omMetadataManager, dbOzoneKey, omKeyInfo,
transactionLogIndex);
- omMetadataManager.getOpenKeyTable().addCacheEntry(
+ omMetadataManager.getOpenKeyTable(getBucketLayout()).addCacheEntry(
new CacheKey<>(dbMultipartOpenKey),
new CacheValue<>(Optional.absent(), transactionLogIndex));
omMetadataManager.getMultipartInfoTable().addCacheEntry(
diff --git
a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/s3/multipart/S3MultipartUploadCompleteRequestWithFSO.java
b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/s3/multipart/S3MultipartUploadCompleteRequestWithFSO.java
index 12539dc..731dd9b 100644
---
a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/s3/multipart/S3MultipartUploadCompleteRequestWithFSO.java
+++
b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/s3/multipart/S3MultipartUploadCompleteRequestWithFSO.java
@@ -21,6 +21,7 @@ package org.apache.hadoop.ozone.om.request.s3.multipart;
import org.apache.hadoop.ozone.om.OMMetadataManager;
import org.apache.hadoop.ozone.om.OzoneManager;
import org.apache.hadoop.ozone.om.exceptions.OMException;
+import org.apache.hadoop.ozone.om.helpers.BucketLayout;
import org.apache.hadoop.ozone.om.helpers.OmBucketInfo;
import org.apache.hadoop.ozone.om.helpers.OmKeyInfo;
import org.apache.hadoop.ozone.om.request.file.OMFileRequest;
@@ -165,5 +166,10 @@ public class S3MultipartUploadCompleteRequestWithFSO
return OMFileRequest
.getParentID(bucketId, pathComponents, keyName, omMetadataManager);
}
+
+ @Override
+ public BucketLayout getBucketLayout() {
+ return BucketLayout.FILE_SYSTEM_OPTIMIZED;
+ }
}
diff --git
a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/OMClientResponse.java
b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/OMClientResponse.java
index 4af78fe..b9c666d 100644
---
a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/OMClientResponse.java
+++
b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/OMClientResponse.java
@@ -23,6 +23,7 @@ import java.util.concurrent.CompletableFuture;
import com.google.common.base.Preconditions;
import org.apache.hadoop.ozone.om.OMMetadataManager;
+import org.apache.hadoop.ozone.om.helpers.BucketLayout;
import org.apache.hadoop.ozone.protocol.proto.OzoneManagerProtocolProtos;
import org.apache.hadoop.ozone.protocol.proto.OzoneManagerProtocolProtos
.OMResponse;
@@ -41,6 +42,10 @@ public abstract class OMClientResponse {
this.omResponse = omResponse;
}
+ public BucketLayout getBucketLayout() {
+ return BucketLayout.DEFAULT;
+ }
+
/**
* For error case, check that the status of omResponse is not OK.
*/
diff --git
a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/file/OMFileCreateResponseWithFSO.java
b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/file/OMFileCreateResponseWithFSO.java
index 42c256c..89757bd 100644
---
a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/file/OMFileCreateResponseWithFSO.java
+++
b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/file/OMFileCreateResponseWithFSO.java
@@ -20,6 +20,7 @@ package org.apache.hadoop.ozone.om.response.file;
import org.apache.hadoop.hdds.utils.db.BatchOperation;
import org.apache.hadoop.ozone.om.OMMetadataManager;
+import org.apache.hadoop.ozone.om.helpers.BucketLayout;
import org.apache.hadoop.ozone.om.helpers.OmBucketInfo;
import org.apache.hadoop.ozone.om.helpers.OmDirectoryInfo;
import org.apache.hadoop.ozone.om.helpers.OmKeyInfo;
@@ -91,4 +92,8 @@ public class OMFileCreateResponseWithFSO extends
OMFileCreateResponse {
getOmKeyInfo().getBucketName()), getOmBucketInfo());
}
+ @Override
+ public BucketLayout getBucketLayout() {
+ return BucketLayout.FILE_SYSTEM_OPTIMIZED;
+ }
}
diff --git
a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/key/OMAllocateBlockResponse.java
b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/key/OMAllocateBlockResponse.java
index c97d702..3e8cd96 100644
---
a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/key/OMAllocateBlockResponse.java
+++
b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/key/OMAllocateBlockResponse.java
@@ -66,8 +66,8 @@ public class OMAllocateBlockResponse extends OMClientResponse
{
String openKey = omMetadataManager.getOpenKey(omKeyInfo.getVolumeName(),
omKeyInfo.getBucketName(), omKeyInfo.getKeyName(), clientID);
- omMetadataManager.getOpenKeyTable().putWithBatch(batchOperation, openKey,
- omKeyInfo);
+ omMetadataManager.getOpenKeyTable(getBucketLayout())
+ .putWithBatch(batchOperation, openKey, omKeyInfo);
// update bucket usedBytes.
omMetadataManager.getBucketTable().putWithBatch(batchOperation,
diff --git
a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/key/OMAllocateBlockResponseWithFSO.java
b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/key/OMAllocateBlockResponseWithFSO.java
index 9f2a800..82e4985 100644
---
a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/key/OMAllocateBlockResponseWithFSO.java
+++
b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/key/OMAllocateBlockResponseWithFSO.java
@@ -20,6 +20,7 @@ package org.apache.hadoop.ozone.om.response.key;
import org.apache.hadoop.hdds.utils.db.BatchOperation;
import org.apache.hadoop.ozone.om.OMMetadataManager;
+import org.apache.hadoop.ozone.om.helpers.BucketLayout;
import org.apache.hadoop.ozone.om.helpers.OmBucketInfo;
import org.apache.hadoop.ozone.om.helpers.OmKeyInfo;
import org.apache.hadoop.ozone.om.request.file.OMFileRequest;
@@ -43,6 +44,11 @@ public class OMAllocateBlockResponseWithFSO extends
OMAllocateBlockResponse {
super(omResponse, omKeyInfo, clientID, omBucketInfo);
}
+ @Override
+ public BucketLayout getBucketLayout() {
+ return BucketLayout.FILE_SYSTEM_OPTIMIZED;
+ }
+
/**
* For when the request is not successful.
* For a successful request, the other constructor should be used.
diff --git
a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/key/OMKeyCommitResponse.java
b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/key/OMKeyCommitResponse.java
index ebd3263..8ac3243 100644
---
a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/key/OMKeyCommitResponse.java
+++
b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/key/OMKeyCommitResponse.java
@@ -67,8 +67,8 @@ public class OMKeyCommitResponse extends OMClientResponse {
BatchOperation batchOperation) throws IOException {
// Delete from OpenKey table
- omMetadataManager.getOpenKeyTable().deleteWithBatch(batchOperation,
- openKeyName);
+ omMetadataManager.getOpenKeyTable(getBucketLayout())
+ .deleteWithBatch(batchOperation, openKeyName);
omMetadataManager.getKeyTable().putWithBatch(batchOperation, ozoneKeyName,
omKeyInfo);
diff --git
a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/key/OMKeyCommitResponseWithFSO.java
b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/key/OMKeyCommitResponseWithFSO.java
index 3b8bba1..ba68028 100644
---
a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/key/OMKeyCommitResponseWithFSO.java
+++
b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/key/OMKeyCommitResponseWithFSO.java
@@ -20,6 +20,7 @@ package org.apache.hadoop.ozone.om.response.key;
import org.apache.hadoop.hdds.utils.db.BatchOperation;
import org.apache.hadoop.ozone.om.OMMetadataManager;
+import org.apache.hadoop.ozone.om.helpers.BucketLayout;
import org.apache.hadoop.ozone.om.helpers.OmBucketInfo;
import org.apache.hadoop.ozone.om.helpers.OmKeyInfo;
import org.apache.hadoop.ozone.om.request.file.OMFileRequest;
@@ -61,8 +62,8 @@ public class OMKeyCommitResponseWithFSO extends
OMKeyCommitResponse {
BatchOperation batchOperation) throws IOException {
// Delete from OpenKey table
- omMetadataManager.getOpenKeyTable().deleteWithBatch(batchOperation,
- getOpenKeyName());
+ omMetadataManager.getOpenKeyTable(getBucketLayout())
+ .deleteWithBatch(batchOperation, getOpenKeyName());
OMFileRequest.addToFileTable(omMetadataManager, batchOperation,
getOmKeyInfo());
@@ -72,4 +73,9 @@ public class OMKeyCommitResponseWithFSO extends
OMKeyCommitResponse {
omMetadataManager.getBucketKey(getOmBucketInfo().getVolumeName(),
getOmBucketInfo().getBucketName()), getOmBucketInfo());
}
+
+ @Override
+ public BucketLayout getBucketLayout() {
+ return BucketLayout.FILE_SYSTEM_OPTIMIZED;
+ }
}
diff --git
a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/key/OMKeyCreateResponse.java
b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/key/OMKeyCreateResponse.java
index d170ef4..9e63ad8 100644
---
a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/key/OMKeyCreateResponse.java
+++
b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/key/OMKeyCreateResponse.java
@@ -93,8 +93,8 @@ public class OMKeyCreateResponse extends OMClientResponse {
String openKey = omMetadataManager.getOpenKey(omKeyInfo.getVolumeName(),
omKeyInfo.getBucketName(), omKeyInfo.getKeyName(), openKeySessionID);
- omMetadataManager.getOpenKeyTable().putWithBatch(batchOperation,
- openKey, omKeyInfo);
+ omMetadataManager.getOpenKeyTable(getBucketLayout())
+ .putWithBatch(batchOperation, openKey, omKeyInfo);
// update bucket usedBytes.
omMetadataManager.getBucketTable().putWithBatch(batchOperation,
diff --git
a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/key/OMKeyDeleteResponseWithFSO.java
b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/key/OMKeyDeleteResponseWithFSO.java
index 8477653..b9c0d9c 100644
---
a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/key/OMKeyDeleteResponseWithFSO.java
+++
b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/key/OMKeyDeleteResponseWithFSO.java
@@ -21,6 +21,7 @@ package org.apache.hadoop.ozone.om.response.key;
import org.apache.hadoop.hdds.utils.db.BatchOperation;
import org.apache.hadoop.hdds.utils.db.Table;
import org.apache.hadoop.ozone.om.OMMetadataManager;
+import org.apache.hadoop.ozone.om.helpers.BucketLayout;
import org.apache.hadoop.ozone.om.helpers.OmBucketInfo;
import org.apache.hadoop.ozone.om.helpers.OmKeyInfo;
import org.apache.hadoop.ozone.om.response.CleanupTableInfo;
@@ -97,4 +98,9 @@ public class OMKeyDeleteResponseWithFSO extends
OMKeyDeleteResponse {
omMetadataManager.getBucketKey(getOmBucketInfo().getVolumeName(),
getOmBucketInfo().getBucketName()), getOmBucketInfo());
}
+
+ @Override
+ public BucketLayout getBucketLayout() {
+ return BucketLayout.FILE_SYSTEM_OPTIMIZED;
+ }
}
diff --git
a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/key/OMKeyRenameResponseWithFSO.java
b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/key/OMKeyRenameResponseWithFSO.java
index f1dd69e..2a96311 100644
---
a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/key/OMKeyRenameResponseWithFSO.java
+++
b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/key/OMKeyRenameResponseWithFSO.java
@@ -20,6 +20,7 @@ package org.apache.hadoop.ozone.om.response.key;
import org.apache.hadoop.hdds.utils.db.BatchOperation;
import org.apache.hadoop.ozone.om.OMMetadataManager;
+import org.apache.hadoop.ozone.om.helpers.BucketLayout;
import org.apache.hadoop.ozone.om.helpers.OmDirectoryInfo;
import org.apache.hadoop.ozone.om.helpers.OmKeyInfo;
import org.apache.hadoop.ozone.om.request.file.OMFileRequest;
@@ -74,4 +75,9 @@ public class OMKeyRenameResponseWithFSO extends
OMKeyRenameResponse {
getToKeyName(), getRenameKeyInfo());
}
}
+
+ @Override
+ public BucketLayout getBucketLayout() {
+ return BucketLayout.FILE_SYSTEM_OPTIMIZED;
+ }
}
diff --git
a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/key/OMOpenKeysDeleteRequest.java
b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/key/OMOpenKeysDeleteRequest.java
index c803488..c322fc2 100644
---
a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/key/OMOpenKeysDeleteRequest.java
+++
b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/key/OMOpenKeysDeleteRequest.java
@@ -159,14 +159,15 @@ public class OMOpenKeysDeleteRequest extends OMKeyRequest
{
// If an open key is no longer present in the table, it was committed
// and should not be deleted.
OmKeyInfo omKeyInfo =
- omMetadataManager.getOpenKeyTable().get(fullKeyName);
+ omMetadataManager.getOpenKeyTable(getBucketLayout())
+ .get(fullKeyName);
if (omKeyInfo != null) {
// Set the UpdateID to current transactionLogIndex
omKeyInfo.setUpdateID(trxnLogIndex, ozoneManager.isRatisEnabled());
deletedKeys.put(fullKeyName, omKeyInfo);
// Update table cache.
- omMetadataManager.getOpenKeyTable().addCacheEntry(
+ omMetadataManager.getOpenKeyTable(getBucketLayout()).addCacheEntry(
new CacheKey<>(fullKeyName),
new CacheValue<>(Optional.absent(), trxnLogIndex));
diff --git
a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/key/OMOpenKeysDeleteResponse.java
b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/key/OMOpenKeysDeleteResponse.java
index 00157ca..cd6eb7f 100644
---
a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/key/OMOpenKeysDeleteResponse.java
+++
b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/key/OMOpenKeysDeleteResponse.java
@@ -62,7 +62,8 @@ public class OMOpenKeysDeleteResponse extends
AbstractOMKeyDeleteResponse {
public void addToDBBatch(OMMetadataManager omMetadataManager,
BatchOperation batchOperation) throws IOException {
- Table<String, OmKeyInfo> openKeyTable =
omMetadataManager.getOpenKeyTable();
+ Table<String, OmKeyInfo> openKeyTable =
+ omMetadataManager.getOpenKeyTable(getBucketLayout());
for (Map.Entry<String, OmKeyInfo> keyInfoPair: keysToDelete.entrySet()) {
addDeletionToBatch(omMetadataManager, batchOperation, openKeyTable,
diff --git
a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/key/OMPathsPurgeResponseWithFSO.java
b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/key/OMPathsPurgeResponseWithFSO.java
index 0548039..b57047b 100644
---
a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/key/OMPathsPurgeResponseWithFSO.java
+++
b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/key/OMPathsPurgeResponseWithFSO.java
@@ -21,6 +21,7 @@ package org.apache.hadoop.ozone.om.response.key;
import org.apache.hadoop.hdds.utils.db.BatchOperation;
import org.apache.hadoop.ozone.OmUtils;
import org.apache.hadoop.ozone.om.OMMetadataManager;
+import org.apache.hadoop.ozone.om.helpers.BucketLayout;
import org.apache.hadoop.ozone.om.helpers.OmKeyInfo;
import org.apache.hadoop.ozone.om.helpers.RepeatedOmKeyInfo;
import org.apache.hadoop.ozone.om.request.key.OMPathsPurgeRequestWithFSO;
@@ -122,4 +123,8 @@ public class OMPathsPurgeResponseWithFSO extends
OMClientResponse {
}
}
+ @Override
+ public BucketLayout getBucketLayout() {
+ return BucketLayout.FILE_SYSTEM_OPTIMIZED;
+ }
}
diff --git
a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/s3/multipart/S3InitiateMultipartUploadResponse.java
b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/s3/multipart/S3InitiateMultipartUploadResponse.java
index ec1b3ae..e69b9ea 100644
---
a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/s3/multipart/S3InitiateMultipartUploadResponse.java
+++
b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/s3/multipart/S3InitiateMultipartUploadResponse.java
@@ -69,8 +69,8 @@ public class S3InitiateMultipartUploadResponse extends
OMClientResponse {
omKeyInfo.getBucketName(), omKeyInfo.getKeyName(),
omMultipartKeyInfo.getUploadID());
- omMetadataManager.getOpenKeyTable().putWithBatch(batchOperation,
- multipartKey, omKeyInfo);
+ omMetadataManager.getOpenKeyTable(getBucketLayout())
+ .putWithBatch(batchOperation, multipartKey, omKeyInfo);
omMetadataManager.getMultipartInfoTable().putWithBatch(batchOperation,
multipartKey, omMultipartKeyInfo);
}
diff --git
a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/s3/multipart/S3MultipartUploadAbortResponse.java
b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/s3/multipart/S3MultipartUploadAbortResponse.java
index 1e4d395..99ef98c 100644
---
a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/s3/multipart/S3MultipartUploadAbortResponse.java
+++
b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/s3/multipart/S3MultipartUploadAbortResponse.java
@@ -80,8 +80,8 @@ public class S3MultipartUploadAbortResponse extends
OMClientResponse {
BatchOperation batchOperation) throws IOException {
// Delete from openKey table and multipart info table.
- omMetadataManager.getOpenKeyTable().deleteWithBatch(batchOperation,
- multipartOpenKey);
+ omMetadataManager.getOpenKeyTable(getBucketLayout())
+ .deleteWithBatch(batchOperation, multipartOpenKey);
omMetadataManager.getMultipartInfoTable().deleteWithBatch(batchOperation,
multipartKey);
diff --git
a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/s3/multipart/S3MultipartUploadAbortResponseWithFSO.java
b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/s3/multipart/S3MultipartUploadAbortResponseWithFSO.java
index 9e43dea..a970d68 100644
---
a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/s3/multipart/S3MultipartUploadAbortResponseWithFSO.java
+++
b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/s3/multipart/S3MultipartUploadAbortResponseWithFSO.java
@@ -18,6 +18,7 @@
package org.apache.hadoop.ozone.om.response.s3.multipart;
+import org.apache.hadoop.ozone.om.helpers.BucketLayout;
import org.apache.hadoop.ozone.om.helpers.OmBucketInfo;
import org.apache.hadoop.ozone.om.helpers.OmMultipartKeyInfo;
import org.apache.hadoop.ozone.om.response.CleanupTableInfo;
@@ -54,4 +55,9 @@ public class S3MultipartUploadAbortResponseWithFSO
@Nonnull OMResponse omResponse) {
super(omResponse);
}
+
+ @Override
+ public BucketLayout getBucketLayout() {
+ return BucketLayout.FILE_SYSTEM_OPTIMIZED;
+ }
}
diff --git
a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/s3/multipart/S3MultipartUploadCommitPartResponse.java
b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/s3/multipart/S3MultipartUploadCommitPartResponse.java
index bcfff8b..0947e04 100644
---
a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/s3/multipart/S3MultipartUploadCommitPartResponse.java
+++
b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/s3/multipart/S3MultipartUploadCommitPartResponse.java
@@ -148,8 +148,8 @@ public class S3MultipartUploadCommitPartResponse extends
OMClientResponse {
// This information has been added to multipartKeyInfo. So, we can
// safely delete part key info from open key table.
- omMetadataManager.getOpenKeyTable().deleteWithBatch(batchOperation,
- openKey);
+ omMetadataManager.getOpenKeyTable(getBucketLayout())
+ .deleteWithBatch(batchOperation, openKey);
// update bucket usedBytes.
omMetadataManager.getBucketTable().putWithBatch(batchOperation,
diff --git
a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/s3/multipart/S3MultipartUploadCommitPartResponseWithFSO.java
b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/s3/multipart/S3MultipartUploadCommitPartResponseWithFSO.java
index 6f60498..8fb8153 100644
---
a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/s3/multipart/S3MultipartUploadCommitPartResponseWithFSO.java
+++
b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/s3/multipart/S3MultipartUploadCommitPartResponseWithFSO.java
@@ -18,6 +18,7 @@
package org.apache.hadoop.ozone.om.response.s3.multipart;
+import org.apache.hadoop.ozone.om.helpers.BucketLayout;
import org.apache.hadoop.ozone.om.helpers.OmBucketInfo;
import org.apache.hadoop.ozone.om.helpers.OmKeyInfo;
import org.apache.hadoop.ozone.om.helpers.OmMultipartKeyInfo;
@@ -66,4 +67,9 @@ public class S3MultipartUploadCommitPartResponseWithFSO
oldPartKeyInfo, openPartKeyInfoToBeDeleted, isRatisEnabled,
omBucketInfo);
}
+
+ @Override
+ public BucketLayout getBucketLayout() {
+ return BucketLayout.FILE_SYSTEM_OPTIMIZED;
+ }
}
diff --git
a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/s3/multipart/S3MultipartUploadCompleteResponse.java
b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/s3/multipart/S3MultipartUploadCompleteResponse.java
index f89fea9..b832813 100644
---
a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/s3/multipart/S3MultipartUploadCompleteResponse.java
+++
b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/s3/multipart/S3MultipartUploadCompleteResponse.java
@@ -22,6 +22,7 @@ import java.io.IOException;
import java.util.List;
import org.apache.hadoop.ozone.om.OMMetadataManager;
+import org.apache.hadoop.ozone.om.helpers.BucketLayout;
import org.apache.hadoop.ozone.om.helpers.OmKeyInfo;
import org.apache.hadoop.ozone.om.helpers.RepeatedOmKeyInfo;
import org.apache.hadoop.ozone.om.response.CleanupTableInfo;
@@ -80,8 +81,8 @@ public class S3MultipartUploadCompleteResponse extends
OMClientResponse {
BatchOperation batchOperation) throws IOException {
// 1. Delete multipart key from OpenKeyTable, MPUTable
- omMetadataManager.getOpenKeyTable().deleteWithBatch(batchOperation,
- multipartOpenKey);
+ omMetadataManager.getOpenKeyTable(getBucketLayout())
+ .deleteWithBatch(batchOperation, multipartOpenKey);
omMetadataManager.getMultipartInfoTable().deleteWithBatch(batchOperation,
multipartKey);
@@ -125,4 +126,10 @@ public class S3MultipartUploadCompleteResponse extends
OMClientResponse {
protected List<OmKeyInfo> getPartsUnusedList() {
return partsUnusedList;
}
+
+ @Override
+ public BucketLayout getBucketLayout() {
+ return BucketLayout.FILE_SYSTEM_OPTIMIZED;
+ }
+
}
diff --git
a/hadoop-ozone/ozone-manager/src/test/java/org/apache/hadoop/ozone/om/request/TestOMRequestUtils.java
b/hadoop-ozone/ozone-manager/src/test/java/org/apache/hadoop/ozone/om/request/TestOMRequestUtils.java
index 3b9e6a4..5c40e37 100644
---
a/hadoop-ozone/ozone-manager/src/test/java/org/apache/hadoop/ozone/om/request/TestOMRequestUtils.java
+++
b/hadoop-ozone/ozone-manager/src/test/java/org/apache/hadoop/ozone/om/request/TestOMRequestUtils.java
@@ -228,11 +228,12 @@ public final class TestOMRequestUtils {
String ozoneKey = omMetadataManager.getOpenKey(volumeName, bucketName,
keyName, clientID);
if (addToCache) {
- omMetadataManager.getOpenKeyTable().addCacheEntry(
- new CacheKey<>(ozoneKey),
- new CacheValue<>(Optional.of(omKeyInfo), trxnLogIndex));
+ omMetadataManager.getOpenKeyTable(getBucketLayout())
+ .addCacheEntry(new CacheKey<>(ozoneKey),
+ new CacheValue<>(Optional.of(omKeyInfo), trxnLogIndex));
}
- omMetadataManager.getOpenKeyTable().put(ozoneKey, omKeyInfo);
+ omMetadataManager.getOpenKeyTable(getBucketLayout())
+ .put(ozoneKey, omKeyInfo);
} else {
String ozoneKey = omMetadataManager.getOzoneKey(volumeName, bucketName,
keyName);
@@ -961,11 +962,12 @@ public final class TestOMRequestUtils {
String ozoneKey = omMetadataManager.getOpenFileName(
omKeyInfo.getParentObjectID(), fileName, clientID);
if (addToCache) {
- omMetadataManager.getOpenKeyTable().addCacheEntry(
- new CacheKey<>(ozoneKey),
+ omMetadataManager.getOpenKeyTable(BucketLayout.FILE_SYSTEM_OPTIMIZED)
+ .addCacheEntry(new CacheKey<>(ozoneKey),
new CacheValue<>(Optional.of(omKeyInfo), trxnLogIndex));
}
- omMetadataManager.getOpenKeyTable().put(ozoneKey, omKeyInfo);
+ omMetadataManager.getOpenKeyTable(BucketLayout.FILE_SYSTEM_OPTIMIZED)
+ .put(ozoneKey, omKeyInfo);
} else {
String ozoneKey = omMetadataManager.getOzonePathKey(
omKeyInfo.getParentObjectID(), fileName);
@@ -1035,4 +1037,8 @@ public final class TestOMRequestUtils {
enableFileSystemPaths);
conf.set(OMConfigKeys.OZONE_OM_METADATA_LAYOUT, version);
}
+
+ public static BucketLayout getBucketLayout() {
+ return BucketLayout.DEFAULT;
+ }
}
diff --git
a/hadoop-ozone/ozone-manager/src/test/java/org/apache/hadoop/ozone/om/request/file/TestOMFileCreateRequestWithFSO.java
b/hadoop-ozone/ozone-manager/src/test/java/org/apache/hadoop/ozone/om/request/file/TestOMFileCreateRequestWithFSO.java
index 858a075..b88fa2f 100644
---
a/hadoop-ozone/ozone-manager/src/test/java/org/apache/hadoop/ozone/om/request/file/TestOMFileCreateRequestWithFSO.java
+++
b/hadoop-ozone/ozone-manager/src/test/java/org/apache/hadoop/ozone/om/request/file/TestOMFileCreateRequestWithFSO.java
@@ -20,6 +20,7 @@ package org.apache.hadoop.ozone.om.request.file;
import org.apache.hadoop.hdds.conf.OzoneConfiguration;
import org.apache.hadoop.hdds.protocol.proto.HddsProtos;
+import org.apache.hadoop.ozone.om.helpers.BucketLayout;
import org.apache.hadoop.ozone.om.helpers.OmDirectoryInfo;
import org.apache.hadoop.ozone.om.helpers.OmKeyInfo;
import org.apache.hadoop.ozone.om.ratis.utils.OzoneManagerRatisUtils;
@@ -138,7 +139,8 @@ public class TestOMFileCreateRequestWithFSO extends
TestOMFileCreateRequest {
if (indx == pathComponents.length - 1) {
String dbOpenFileName = omMetadataManager.getOpenFileName(
parentId, pathElement, id);
- OmKeyInfo omKeyInfo = omMetadataManager.getOpenKeyTable()
+ OmKeyInfo omKeyInfo =
+ omMetadataManager.getOpenKeyTable(getBucketLayout())
.get(dbOpenFileName);
if (doAssert) {
Assert.assertNotNull("Invalid key!", omKeyInfo);
@@ -194,4 +196,9 @@ public class TestOMFileCreateRequestWithFSO extends
TestOMFileCreateRequest {
protected OMFileCreateRequest getOMFileCreateRequest(OMRequest omRequest) {
return new OMFileCreateRequestWithFSO(omRequest);
}
+
+ @Override
+ public BucketLayout getBucketLayout() {
+ return BucketLayout.FILE_SYSTEM_OPTIMIZED;
+ }
}
diff --git
a/hadoop-ozone/ozone-manager/src/test/java/org/apache/hadoop/ozone/om/request/key/TestOMAllocateBlockRequestWithFSO.java
b/hadoop-ozone/ozone-manager/src/test/java/org/apache/hadoop/ozone/om/request/key/TestOMAllocateBlockRequestWithFSO.java
index 6b34088..e295c7a 100644
---
a/hadoop-ozone/ozone-manager/src/test/java/org/apache/hadoop/ozone/om/request/key/TestOMAllocateBlockRequestWithFSO.java
+++
b/hadoop-ozone/ozone-manager/src/test/java/org/apache/hadoop/ozone/om/request/key/TestOMAllocateBlockRequestWithFSO.java
@@ -23,6 +23,7 @@ package org.apache.hadoop.ozone.om.request.key;
import org.apache.hadoop.hdds.conf.OzoneConfiguration;
import org.apache.hadoop.hdds.protocol.proto.HddsProtos;
import org.apache.hadoop.ozone.OzoneConsts;
+import org.apache.hadoop.ozone.om.helpers.BucketLayout;
import org.apache.hadoop.ozone.om.helpers.OmDirectoryInfo;
import org.apache.hadoop.ozone.om.helpers.OmKeyInfo;
import org.apache.hadoop.ozone.om.ratis.utils.OzoneManagerRatisUtils;
@@ -85,6 +86,11 @@ public class TestOMAllocateBlockRequestWithFSO
}
@Override
+ public BucketLayout getBucketLayout() {
+ return BucketLayout.FILE_SYSTEM_OPTIMIZED;
+ }
+
+ @Override
protected OmKeyInfo verifyPathInOpenKeyTable(String key, long id,
boolean doAssert) throws Exception {
long bucketId = TestOMRequestUtils.getBucketId(volumeName, bucketName,
@@ -95,9 +101,10 @@ public class TestOMAllocateBlockRequestWithFSO
String pathElement = pathComponents[indx];
// Reached last component, which is file name
if (indx == pathComponents.length - 1) {
- String dbOpenFileName = omMetadataManager.getOpenFileName(
- parentId, pathElement, id);
- OmKeyInfo omKeyInfo = omMetadataManager.getOpenKeyTable()
+ String dbOpenFileName =
+ omMetadataManager.getOpenFileName(parentId, pathElement, id);
+ OmKeyInfo omKeyInfo =
+ omMetadataManager.getOpenKeyTable(getBucketLayout())
.get(dbOpenFileName);
if (doAssert) {
Assert.assertNotNull("Invalid key!", omKeyInfo);
@@ -105,10 +112,9 @@ public class TestOMAllocateBlockRequestWithFSO
return omKeyInfo;
} else {
// directory
- String dbKey = omMetadataManager.getOzonePathKey(parentId,
- pathElement);
+ String dbKey = omMetadataManager.getOzonePathKey(parentId,
pathElement);
OmDirectoryInfo dirInfo =
- omMetadataManager.getDirectoryTable().get(dbKey);
+ omMetadataManager.getDirectoryTable().get(dbKey);
parentId = dirInfo.getObjectID();
}
}
diff --git
a/hadoop-ozone/ozone-manager/src/test/java/org/apache/hadoop/ozone/om/request/key/TestOMKeyCommitRequest.java
b/hadoop-ozone/ozone-manager/src/test/java/org/apache/hadoop/ozone/om/request/key/TestOMKeyCommitRequest.java
index 229c23a..7a8437d 100644
---
a/hadoop-ozone/ozone-manager/src/test/java/org/apache/hadoop/ozone/om/request/key/TestOMKeyCommitRequest.java
+++
b/hadoop-ozone/ozone-manager/src/test/java/org/apache/hadoop/ozone/om/request/key/TestOMKeyCommitRequest.java
@@ -91,7 +91,8 @@ public class TestOMKeyCommitRequest extends TestOMKeyRequest {
omClientResponse.getOMResponse().getStatus());
// Entry should be deleted from openKey Table.
- omKeyInfo = omMetadataManager.getOpenKeyTable().get(ozoneKey);
+ omKeyInfo =
+ omMetadataManager.getOpenKeyTable(getBucketLayout()).get(ozoneKey);
Assert.assertNull(omKeyInfo);
// Now entry should be created in key Table.
@@ -147,7 +148,8 @@ public class TestOMKeyCommitRequest extends
TestOMKeyRequest {
omClientResponse.getOMResponse().getStatus());
// Entry should be deleted from openKey Table.
- omKeyInfo = omMetadataManager.getOpenKeyTable().get(ozoneKey);
+ omKeyInfo =
+ omMetadataManager.getOpenKeyTable(getBucketLayout()).get(ozoneKey);
Assert.assertNull(omKeyInfo);
// Now entry should be created in key Table.
diff --git
a/hadoop-ozone/ozone-manager/src/test/java/org/apache/hadoop/ozone/om/request/key/TestOMKeyCreateRequest.java
b/hadoop-ozone/ozone-manager/src/test/java/org/apache/hadoop/ozone/om/request/key/TestOMKeyCreateRequest.java
index 881e3ff..89cb7fa 100644
---
a/hadoop-ozone/ozone-manager/src/test/java/org/apache/hadoop/ozone/om/request/key/TestOMKeyCreateRequest.java
+++
b/hadoop-ozone/ozone-manager/src/test/java/org/apache/hadoop/ozone/om/request/key/TestOMKeyCreateRequest.java
@@ -85,7 +85,8 @@ public class TestOMKeyCreateRequest extends TestOMKeyRequest {
String openKey = getOpenKey(id);
// Before calling
- OmKeyInfo omKeyInfo = omMetadataManager.getOpenKeyTable().get(openKey);
+ OmKeyInfo omKeyInfo =
+ omMetadataManager.getOpenKeyTable(getBucketLayout()).get(openKey);
Assert.assertNull(omKeyInfo);
@@ -100,12 +101,13 @@ public class TestOMKeyCreateRequest extends
TestOMKeyRequest {
.getCreateKeyResponse().getKeyInfo().getKeyLocationListCount());
// Disk should have 1 version, as it is fresh key create.
- Assert.assertEquals(1, omMetadataManager.getOpenKeyTable()
- .get(openKey).getKeyLocationVersions().size());
+ Assert.assertEquals(1,
+ omMetadataManager.getOpenKeyTable(getBucketLayout()).get(openKey)
+ .getKeyLocationVersions().size());
// Write to DB like key commit.
- omMetadataManager.getKeyTable().put(
- getOzoneKey(), omMetadataManager.getOpenKeyTable().get(openKey));
+ omMetadataManager.getKeyTable().put(getOzoneKey(),
+ omMetadataManager.getOpenKeyTable(getBucketLayout()).get(openKey));
// Override same key again
modifiedOmRequest =
@@ -115,7 +117,8 @@ public class TestOMKeyCreateRequest extends
TestOMKeyRequest {
openKey = getOpenKey(id);
// Before calling
- omKeyInfo = omMetadataManager.getOpenKeyTable().get(openKey);
+ omKeyInfo =
+ omMetadataManager.getOpenKeyTable(getBucketLayout()).get(openKey);
Assert.assertNull(omKeyInfo);
omKeyCreateRequest =
@@ -132,8 +135,9 @@ public class TestOMKeyCreateRequest extends
TestOMKeyRequest {
.getCreateKeyResponse().getKeyInfo().getKeyLocationListCount());
// Disk should have 2 versions.
- Assert.assertEquals(2, omMetadataManager.getOpenKeyTable()
- .get(openKey).getKeyLocationVersions().size());
+ Assert.assertEquals(2,
+ omMetadataManager.getOpenKeyTable(getBucketLayout()).get(openKey)
+ .getKeyLocationVersions().size());
}
@@ -148,7 +152,8 @@ public class TestOMKeyCreateRequest extends
TestOMKeyRequest {
// Check open table whether key is added or not.
- OmKeyInfo omKeyInfo = omMetadataManager.getOpenKeyTable().get(openKey);
+ OmKeyInfo omKeyInfo =
+ omMetadataManager.getOpenKeyTable(getBucketLayout()).get(openKey);
Assert.assertNotNull(omKeyInfo);
@@ -202,7 +207,8 @@ public class TestOMKeyCreateRequest extends
TestOMKeyRequest {
keyName, id);
// Before calling
- OmKeyInfo omKeyInfo = omMetadataManager.getOpenKeyTable().get(openKey);
+ OmKeyInfo omKeyInfo =
+ omMetadataManager.getOpenKeyTable(getBucketLayout()).get(openKey);
Assert.assertNull(omKeyInfo);
@@ -216,7 +222,8 @@ public class TestOMKeyCreateRequest extends
TestOMKeyRequest {
// As we got error, no entry should be created in openKeyTable.
- omKeyInfo = omMetadataManager.getOpenKeyTable().get(openKey);
+ omKeyInfo =
+ omMetadataManager.getOpenKeyTable(getBucketLayout()).get(openKey);
Assert.assertNull(omKeyInfo);
}
@@ -240,7 +247,8 @@ public class TestOMKeyCreateRequest extends
TestOMKeyRequest {
// Before calling
- OmKeyInfo omKeyInfo = omMetadataManager.getOpenKeyTable().get(openKey);
+ OmKeyInfo omKeyInfo =
+ omMetadataManager.getOpenKeyTable(getBucketLayout()).get(openKey);
Assert.assertNull(omKeyInfo);
@@ -253,7 +261,8 @@ public class TestOMKeyCreateRequest extends
TestOMKeyRequest {
// As We got an error, openKey Table should not have entry.
- omKeyInfo = omMetadataManager.getOpenKeyTable().get(openKey);
+ omKeyInfo =
+ omMetadataManager.getOpenKeyTable(getBucketLayout()).get(openKey);
Assert.assertNull(omKeyInfo);
@@ -280,7 +289,8 @@ public class TestOMKeyCreateRequest extends
TestOMKeyRequest {
omMetadataManager);
// Before calling
- OmKeyInfo omKeyInfo = omMetadataManager.getOpenKeyTable().get(openKey);
+ OmKeyInfo omKeyInfo =
+ omMetadataManager.getOpenKeyTable(getBucketLayout()).get(openKey);
Assert.assertNull(omKeyInfo);
@@ -293,7 +303,8 @@ public class TestOMKeyCreateRequest extends
TestOMKeyRequest {
// As We got an error, openKey Table should not have entry.
- omKeyInfo = omMetadataManager.getOpenKeyTable().get(openKey);
+ omKeyInfo =
+ omMetadataManager.getOpenKeyTable(getBucketLayout()).get(openKey);
Assert.assertNull(omKeyInfo);
@@ -547,7 +558,8 @@ public class TestOMKeyCreateRequest extends
TestOMKeyRequest {
// Check open key entry
String openKey = omMetadataManager.getOpenKey(volumeName, bucketName,
keyName, omRequest.getCreateKeyRequest().getClientID());
- OmKeyInfo omKeyInfo = omMetadataManager.getOpenKeyTable().get(openKey);
+ OmKeyInfo omKeyInfo =
+ omMetadataManager.getOpenKeyTable(getBucketLayout()).get(openKey);
Assert.assertNotNull(omKeyInfo);
}
diff --git
a/hadoop-ozone/ozone-manager/src/test/java/org/apache/hadoop/ozone/om/request/key/TestOMKeyCreateRequestWithFSO.java
b/hadoop-ozone/ozone-manager/src/test/java/org/apache/hadoop/ozone/om/request/key/TestOMKeyCreateRequestWithFSO.java
index 978525b..56a1b90 100644
---
a/hadoop-ozone/ozone-manager/src/test/java/org/apache/hadoop/ozone/om/request/key/TestOMKeyCreateRequestWithFSO.java
+++
b/hadoop-ozone/ozone-manager/src/test/java/org/apache/hadoop/ozone/om/request/key/TestOMKeyCreateRequestWithFSO.java
@@ -25,6 +25,7 @@ import org.apache.hadoop.ozone.om.helpers.OmBucketInfo;
import org.apache.hadoop.ozone.om.helpers.OmDirectoryInfo;
import org.apache.hadoop.ozone.om.helpers.OmKeyInfo;
import org.apache.hadoop.ozone.om.helpers.OzoneFSUtils;
+import org.apache.hadoop.ozone.om.helpers.BucketLayout;
import org.apache.hadoop.ozone.om.ratis.utils.OzoneManagerRatisUtils;
import org.apache.hadoop.ozone.om.request.TestOMRequestUtils;
import
org.apache.hadoop.ozone.protocol.proto.OzoneManagerProtocolProtos.OMRequest;
@@ -80,7 +81,8 @@ public class TestOMKeyCreateRequestWithFSO extends
TestOMKeyCreateRequest {
String fileName = keyPathFileName.toString();
String openKey = omMetadataManager.getOpenFileName(parentID, fileName,
omRequest.getCreateKeyRequest().getClientID());
- OmKeyInfo omKeyInfo = omMetadataManager.getOpenKeyTable().get(openKey);
+ OmKeyInfo omKeyInfo =
+ omMetadataManager.getOpenKeyTable(getBucketLayout()).get(openKey);
Assert.assertNotNull(omKeyInfo);
}
@@ -143,4 +145,9 @@ public class TestOMKeyCreateRequestWithFSO extends
TestOMKeyCreateRequest {
protected OMKeyCreateRequest getOMKeyCreateRequest(OMRequest omRequest) {
return new OMKeyCreateRequestWithFSO(omRequest);
}
+
+ @Override
+ public BucketLayout getBucketLayout() {
+ return BucketLayout.FILE_SYSTEM_OPTIMIZED;
+ }
}
diff --git
a/hadoop-ozone/ozone-manager/src/test/java/org/apache/hadoop/ozone/om/request/key/TestOMKeyRequest.java
b/hadoop-ozone/ozone-manager/src/test/java/org/apache/hadoop/ozone/om/request/key/TestOMKeyRequest.java
index c21f52a..e2f315c 100644
---
a/hadoop-ozone/ozone-manager/src/test/java/org/apache/hadoop/ozone/om/request/key/TestOMKeyRequest.java
+++
b/hadoop-ozone/ozone-manager/src/test/java/org/apache/hadoop/ozone/om/request/key/TestOMKeyRequest.java
@@ -29,6 +29,7 @@ import org.apache.hadoop.ozone.om.OzoneManagerPrepareState;
import org.apache.hadoop.ozone.om.ResolvedBucket;
import org.apache.hadoop.ozone.om.KeyManager;
import org.apache.hadoop.ozone.om.KeyManagerImpl;
+import org.apache.hadoop.ozone.om.helpers.BucketLayout;
import org.apache.hadoop.ozone.om.helpers.OmKeyInfo;
import org.apache.hadoop.ozone.om.ratis.utils.OzoneManagerDoubleBufferHelper;
import org.apache.hadoop.ozone.om.request.OMClientRequest;
@@ -213,13 +214,18 @@ public class TestOMKeyRequest {
throws Exception {
String openKey = omMetadataManager.getOpenKey(volumeName, bucketName,
key, id);
- OmKeyInfo omKeyInfo = omMetadataManager.getOpenKeyTable().get(openKey);
+ OmKeyInfo omKeyInfo =
+ omMetadataManager.getOpenKeyTable(getBucketLayout()).get(openKey);
if (doAssert) {
Assert.assertNotNull("Failed to find key in OpenKeyTable", omKeyInfo);
}
return omKeyInfo;
}
+ public BucketLayout getBucketLayout() {
+ return BucketLayout.DEFAULT;
+ }
+
@After
public void stop() {
omMetrics.unRegister();
diff --git
a/hadoop-ozone/ozone-manager/src/test/java/org/apache/hadoop/ozone/om/request/key/TestOMOpenKeysDeleteRequest.java
b/hadoop-ozone/ozone-manager/src/test/java/org/apache/hadoop/ozone/om/request/key/TestOMOpenKeysDeleteRequest.java
index 36a1ec9..29c4285 100644
---
a/hadoop-ozone/ozone-manager/src/test/java/org/apache/hadoop/ozone/om/request/key/TestOMOpenKeysDeleteRequest.java
+++
b/hadoop-ozone/ozone-manager/src/test/java/org/apache/hadoop/ozone/om/request/key/TestOMOpenKeysDeleteRequest.java
@@ -313,16 +313,18 @@ public class TestOMOpenKeysDeleteRequest extends
TestOMKeyRequest {
private void assertInOpenKeyTable(OpenKeyBucket... openKeys)
throws Exception {
- for (String keyName: getFullOpenKeyNames(openKeys)) {
- Assert.assertTrue(omMetadataManager.getOpenKeyTable().isExist(keyName));
+ for (String keyName : getFullOpenKeyNames(openKeys)) {
+ Assert.assertTrue(omMetadataManager.getOpenKeyTable(getBucketLayout())
+ .isExist(keyName));
}
}
private void assertNotInOpenKeyTable(OpenKeyBucket... openKeys)
throws Exception {
- for (String keyName: getFullOpenKeyNames(openKeys)) {
- Assert.assertFalse(omMetadataManager.getOpenKeyTable().isExist(keyName));
+ for (String keyName : getFullOpenKeyNames(openKeys)) {
+ Assert.assertFalse(omMetadataManager.getOpenKeyTable(getBucketLayout())
+ .isExist(keyName));
}
}
diff --git
a/hadoop-ozone/ozone-manager/src/test/java/org/apache/hadoop/ozone/om/request/s3/multipart/TestS3InitiateMultipartUploadRequest.java
b/hadoop-ozone/ozone-manager/src/test/java/org/apache/hadoop/ozone/om/request/s3/multipart/TestS3InitiateMultipartUploadRequest.java
index 01561e9..9f983ee 100644
---
a/hadoop-ozone/ozone-manager/src/test/java/org/apache/hadoop/ozone/om/request/s3/multipart/TestS3InitiateMultipartUploadRequest.java
+++
b/hadoop-ozone/ozone-manager/src/test/java/org/apache/hadoop/ozone/om/request/s3/multipart/TestS3InitiateMultipartUploadRequest.java
@@ -69,7 +69,8 @@ public class TestS3InitiateMultipartUploadRequest
modifiedRequest.getInitiateMultiPartUploadRequest()
.getKeyArgs().getMultipartUploadID());
-
Assert.assertNotNull(omMetadataManager.getOpenKeyTable().get(multipartKey));
+ Assert.assertNotNull(
+
omMetadataManager.getOpenKeyTable(getBucketLayout()).get(multipartKey));
Assert.assertNotNull(omMetadataManager.getMultipartInfoTable()
.get(multipartKey));
@@ -78,13 +79,15 @@ public class TestS3InitiateMultipartUploadRequest
omMetadataManager.getMultipartInfoTable().get(multipartKey)
.getUploadID());
- Assert.assertEquals(modifiedRequest.getInitiateMultiPartUploadRequest()
- .getKeyArgs().getModificationTime(),
- omMetadataManager.getOpenKeyTable().get(multipartKey)
- .getModificationTime());
- Assert.assertEquals(modifiedRequest.getInitiateMultiPartUploadRequest()
- .getKeyArgs().getModificationTime(),
- omMetadataManager.getOpenKeyTable().get(multipartKey)
+ Assert.assertEquals(
+ modifiedRequest.getInitiateMultiPartUploadRequest().getKeyArgs()
+ .getModificationTime(),
+ omMetadataManager.getOpenKeyTable(getBucketLayout()).get(multipartKey)
+ .getModificationTime());
+ Assert.assertEquals(
+ modifiedRequest.getInitiateMultiPartUploadRequest().getKeyArgs()
+ .getModificationTime(),
+ omMetadataManager.getOpenKeyTable(getBucketLayout()).get(multipartKey)
.getCreationTime());
}
@@ -115,7 +118,8 @@ public class TestS3InitiateMultipartUploadRequest
modifiedRequest.getInitiateMultiPartUploadRequest()
.getKeyArgs().getMultipartUploadID());
- Assert.assertNull(omMetadataManager.getOpenKeyTable().get(multipartKey));
+ Assert.assertNull(
+
omMetadataManager.getOpenKeyTable(getBucketLayout()).get(multipartKey));
Assert.assertNull(omMetadataManager.getMultipartInfoTable()
.get(multipartKey));
}
@@ -143,7 +147,8 @@ public class TestS3InitiateMultipartUploadRequest
modifiedRequest.getInitiateMultiPartUploadRequest()
.getKeyArgs().getMultipartUploadID());
- Assert.assertNull(omMetadataManager.getOpenKeyTable().get(multipartKey));
+ Assert.assertNull(
+
omMetadataManager.getOpenKeyTable(getBucketLayout()).get(multipartKey));
Assert.assertNull(omMetadataManager.getMultipartInfoTable()
.get(multipartKey));
}
diff --git
a/hadoop-ozone/ozone-manager/src/test/java/org/apache/hadoop/ozone/om/request/s3/multipart/TestS3InitiateMultipartUploadRequestWithFSO.java
b/hadoop-ozone/ozone-manager/src/test/java/org/apache/hadoop/ozone/om/request/s3/multipart/TestS3InitiateMultipartUploadRequestWithFSO.java
index 0e41e7c..c4ce9a2 100644
---
a/hadoop-ozone/ozone-manager/src/test/java/org/apache/hadoop/ozone/om/request/s3/multipart/TestS3InitiateMultipartUploadRequestWithFSO.java
+++
b/hadoop-ozone/ozone-manager/src/test/java/org/apache/hadoop/ozone/om/request/s3/multipart/TestS3InitiateMultipartUploadRequestWithFSO.java
@@ -23,6 +23,7 @@ import org.apache.hadoop.ozone.om.helpers.OmBucketInfo;
import org.apache.hadoop.ozone.om.helpers.OmDirectoryInfo;
import org.apache.hadoop.ozone.om.helpers.OmKeyInfo;
import org.apache.hadoop.ozone.om.helpers.OmMultipartKeyInfo;
+import org.apache.hadoop.ozone.om.helpers.BucketLayout;
import org.apache.hadoop.ozone.om.request.TestOMRequestUtils;
import org.apache.hadoop.ozone.om.response.OMClientResponse;
import org.apache.hadoop.ozone.protocol.proto.OzoneManagerProtocolProtos;
@@ -87,8 +88,8 @@ public class TestS3InitiateMultipartUploadRequestWithFSO
fileName, modifiedRequest.getInitiateMultiPartUploadRequest()
.getKeyArgs().getMultipartUploadID());
- OmKeyInfo omKeyInfo = omMetadataManager.getOpenKeyTable()
- .get(multipartOpenFileKey);
+ OmKeyInfo omKeyInfo = omMetadataManager.getOpenKeyTable(getBucketLayout())
+ .get(multipartOpenFileKey);
Assert.assertNotNull("Failed to find the fileInfo", omKeyInfo);
Assert.assertEquals("FileName mismatches!", fileName,
omKeyInfo.getKeyName());
@@ -142,4 +143,9 @@ public class TestS3InitiateMultipartUploadRequestWithFSO
OMRequest initiateMPURequest) {
return new S3InitiateMultipartUploadRequestWithFSO(initiateMPURequest);
}
+
+ @Override
+ public BucketLayout getBucketLayout() {
+ return BucketLayout.FILE_SYSTEM_OPTIMIZED;
+ }
}
diff --git
a/hadoop-ozone/ozone-manager/src/test/java/org/apache/hadoop/ozone/om/request/s3/multipart/TestS3MultipartRequest.java
b/hadoop-ozone/ozone-manager/src/test/java/org/apache/hadoop/ozone/om/request/s3/multipart/TestS3MultipartRequest.java
index 5fe2c0d..2758219 100644
---
a/hadoop-ozone/ozone-manager/src/test/java/org/apache/hadoop/ozone/om/request/s3/multipart/TestS3MultipartRequest.java
+++
b/hadoop-ozone/ozone-manager/src/test/java/org/apache/hadoop/ozone/om/request/s3/multipart/TestS3MultipartRequest.java
@@ -22,6 +22,7 @@ package org.apache.hadoop.ozone.om.request.s3.multipart;
import java.io.IOException;
import java.util.List;
+import org.apache.hadoop.ozone.om.helpers.BucketLayout;
import org.apache.hadoop.ozone.om.request.OMClientRequest;
import org.junit.After;
import org.junit.Assert;
@@ -268,4 +269,8 @@ public class TestS3MultipartRequest {
return new S3MultipartUploadAbortRequest(omRequest);
}
+ public BucketLayout getBucketLayout() {
+ return BucketLayout.DEFAULT;
+ }
+
}
diff --git
a/hadoop-ozone/ozone-manager/src/test/java/org/apache/hadoop/ozone/om/request/s3/multipart/TestS3MultipartUploadAbortRequest.java
b/hadoop-ozone/ozone-manager/src/test/java/org/apache/hadoop/ozone/om/request/s3/multipart/TestS3MultipartUploadAbortRequest.java
index d6ded0a..772f7f1 100644
---
a/hadoop-ozone/ozone-manager/src/test/java/org/apache/hadoop/ozone/om/request/s3/multipart/TestS3MultipartUploadAbortRequest.java
+++
b/hadoop-ozone/ozone-manager/src/test/java/org/apache/hadoop/ozone/om/request/s3/multipart/TestS3MultipartUploadAbortRequest.java
@@ -92,8 +92,8 @@ public class TestS3MultipartUploadAbortRequest extends
TestS3MultipartRequest {
omClientResponse.getOMResponse().getStatus());
Assert.assertNull(
omMetadataManager.getMultipartInfoTable().get(multipartKey));
- Assert
- .assertNull(omMetadataManager.getOpenKeyTable().get(multipartOpenKey));
+ Assert.assertNull(omMetadataManager.getOpenKeyTable(getBucketLayout())
+ .get(multipartOpenKey));
}
diff --git
a/hadoop-ozone/ozone-manager/src/test/java/org/apache/hadoop/ozone/om/request/s3/multipart/TestS3MultipartUploadCommitPartRequest.java
b/hadoop-ozone/ozone-manager/src/test/java/org/apache/hadoop/ozone/om/request/s3/multipart/TestS3MultipartUploadCommitPartRequest.java
index a285ba7..1bff324 100644
---
a/hadoop-ozone/ozone-manager/src/test/java/org/apache/hadoop/ozone/om/request/s3/multipart/TestS3MultipartUploadCommitPartRequest.java
+++
b/hadoop-ozone/ozone-manager/src/test/java/org/apache/hadoop/ozone/om/request/s3/multipart/TestS3MultipartUploadCommitPartRequest.java
@@ -99,11 +99,12 @@ public class TestS3MultipartUploadCommitPartRequest
omMetadataManager.getMultipartInfoTable().get(multipartKey));
Assert.assertTrue(omMetadataManager.getMultipartInfoTable()
.get(multipartKey).getPartKeyInfoMap().size() == 1);
- Assert.assertNotNull(omMetadataManager.getOpenKeyTable()
+ Assert.assertNotNull(omMetadataManager.getOpenKeyTable(getBucketLayout())
.get(multipartOpenKey));
String partKey = getOpenKey(volumeName, bucketName, keyName, clientID);
- Assert.assertNull(omMetadataManager.getOpenKeyTable().get(partKey));
+ Assert.assertNull(
+ omMetadataManager.getOpenKeyTable(getBucketLayout()).get(partKey));
}
@Test
diff --git
a/hadoop-ozone/ozone-manager/src/test/java/org/apache/hadoop/ozone/om/request/s3/multipart/TestS3MultipartUploadCommitPartRequestWithFSO.java
b/hadoop-ozone/ozone-manager/src/test/java/org/apache/hadoop/ozone/om/request/s3/multipart/TestS3MultipartUploadCommitPartRequestWithFSO.java
index bd7f431..76bbd61 100644
---
a/hadoop-ozone/ozone-manager/src/test/java/org/apache/hadoop/ozone/om/request/s3/multipart/TestS3MultipartUploadCommitPartRequestWithFSO.java
+++
b/hadoop-ozone/ozone-manager/src/test/java/org/apache/hadoop/ozone/om/request/s3/multipart/TestS3MultipartUploadCommitPartRequestWithFSO.java
@@ -21,6 +21,7 @@ package org.apache.hadoop.ozone.om.request.s3.multipart;
import org.apache.commons.lang3.StringUtils;
import org.apache.hadoop.hdds.protocol.proto.HddsProtos;
+import org.apache.hadoop.ozone.om.helpers.BucketLayout;
import org.apache.hadoop.ozone.om.helpers.OmKeyInfo;
import org.apache.hadoop.ozone.om.helpers.OzoneFSUtils;
import org.apache.hadoop.ozone.om.request.TestOMRequestUtils;
@@ -115,4 +116,9 @@ public class TestS3MultipartUploadCommitPartRequestWithFSO
parentID = TestOMRequestUtils.addParentsToDirTable(volumeName, bucketName,
dirName, omMetadataManager);
}
+
+ @Override
+ public BucketLayout getBucketLayout() {
+ return BucketLayout.FILE_SYSTEM_OPTIMIZED;
+ }
}
diff --git
a/hadoop-ozone/ozone-manager/src/test/java/org/apache/hadoop/ozone/om/request/s3/multipart/TestS3MultipartUploadCompleteRequest.java
b/hadoop-ozone/ozone-manager/src/test/java/org/apache/hadoop/ozone/om/request/s3/multipart/TestS3MultipartUploadCompleteRequest.java
index b2fdaf4..63ddf52 100644
---
a/hadoop-ozone/ozone-manager/src/test/java/org/apache/hadoop/ozone/om/request/s3/multipart/TestS3MultipartUploadCompleteRequest.java
+++
b/hadoop-ozone/ozone-manager/src/test/java/org/apache/hadoop/ozone/om/request/s3/multipart/TestS3MultipartUploadCompleteRequest.java
@@ -110,7 +110,8 @@ public class TestS3MultipartUploadCompleteRequest
String multipartKey = getMultipartKey(volumeName, bucketName, keyName,
multipartUploadID);
- Assert.assertNull(omMetadataManager.getOpenKeyTable().get(multipartKey));
+ Assert.assertNull(
+
omMetadataManager.getOpenKeyTable(getBucketLayout()).get(multipartKey));
Assert.assertNull(
omMetadataManager.getMultipartInfoTable().get(multipartKey));
Assert.assertNotNull(omMetadataManager.getKeyTable().get(
diff --git
a/hadoop-ozone/ozone-manager/src/test/java/org/apache/hadoop/ozone/om/response/file/TestOMFileCreateResponseWithFSO.java
b/hadoop-ozone/ozone-manager/src/test/java/org/apache/hadoop/ozone/om/response/file/TestOMFileCreateResponseWithFSO.java
index 4697079..12f3ab4 100644
---
a/hadoop-ozone/ozone-manager/src/test/java/org/apache/hadoop/ozone/om/response/file/TestOMFileCreateResponseWithFSO.java
+++
b/hadoop-ozone/ozone-manager/src/test/java/org/apache/hadoop/ozone/om/response/file/TestOMFileCreateResponseWithFSO.java
@@ -19,6 +19,7 @@
package org.apache.hadoop.ozone.om.response.file;
import org.apache.hadoop.hdds.conf.OzoneConfiguration;
+import org.apache.hadoop.ozone.om.helpers.BucketLayout;
import org.apache.hadoop.ozone.om.helpers.OmBucketInfo;
import org.apache.hadoop.ozone.om.helpers.OmKeyInfo;
import org.apache.hadoop.ozone.om.ratis.utils.OzoneManagerRatisUtils;
@@ -75,4 +76,9 @@ public class TestOMFileCreateResponseWithFSO extends
TestOMKeyCreateResponse {
OzoneManagerRatisUtils.setBucketFSOptimized(true);
return config;
}
+
+ @Override
+ public BucketLayout getBucketLayout() {
+ return BucketLayout.FILE_SYSTEM_OPTIMIZED;
+ }
}
diff --git
a/hadoop-ozone/ozone-manager/src/test/java/org/apache/hadoop/ozone/om/response/key/TestOMAllocateBlockResponse.java
b/hadoop-ozone/ozone-manager/src/test/java/org/apache/hadoop/ozone/om/response/key/TestOMAllocateBlockResponse.java
index 33c16ae..f0bade3 100644
---
a/hadoop-ozone/ozone-manager/src/test/java/org/apache/hadoop/ozone/om/response/key/TestOMAllocateBlockResponse.java
+++
b/hadoop-ozone/ozone-manager/src/test/java/org/apache/hadoop/ozone/om/response/key/TestOMAllocateBlockResponse.java
@@ -55,13 +55,15 @@ public class TestOMAllocateBlockResponse extends
TestOMKeyResponse {
String openKey = getOpenKey();
// Not adding key entry before to test whether commit is successful or not.
- Assert.assertFalse(omMetadataManager.getOpenKeyTable().isExist(openKey));
+ Assert.assertFalse(
+ omMetadataManager.getOpenKeyTable(getBucketLayout()).isExist(openKey));
omAllocateBlockResponse.addToDBBatch(omMetadataManager, batchOperation);
// Do manual commit and see whether addToBatch is successful or not.
omMetadataManager.getStore().commitBatchOperation(batchOperation);
- Assert.assertTrue(omMetadataManager.getOpenKeyTable().isExist(openKey));
+ Assert.assertTrue(
+ omMetadataManager.getOpenKeyTable(getBucketLayout()).isExist(openKey));
}
@Test
@@ -82,7 +84,8 @@ public class TestOMAllocateBlockResponse extends
TestOMKeyResponse {
// Before calling addToDBBatch
String openKey = getOpenKey();
- Assert.assertFalse(omMetadataManager.getOpenKeyTable().isExist(openKey));
+ Assert.assertFalse(
+ omMetadataManager.getOpenKeyTable(getBucketLayout()).isExist(openKey));
omAllocateBlockResponse.checkAndUpdateDB(omMetadataManager,
batchOperation);
@@ -90,7 +93,8 @@ public class TestOMAllocateBlockResponse extends
TestOMKeyResponse {
omMetadataManager.getStore().commitBatchOperation(batchOperation);
// As omResponse is error it is a no-op.
- Assert.assertFalse(omMetadataManager.getOpenKeyTable().isExist(openKey));
+ Assert.assertFalse(
+ omMetadataManager.getOpenKeyTable(getBucketLayout()).isExist(openKey));
}
diff --git
a/hadoop-ozone/ozone-manager/src/test/java/org/apache/hadoop/ozone/om/response/key/TestOMAllocateBlockResponseWithFSO.java
b/hadoop-ozone/ozone-manager/src/test/java/org/apache/hadoop/ozone/om/response/key/TestOMAllocateBlockResponseWithFSO.java
index 4b99d76..8c047fa 100644
---
a/hadoop-ozone/ozone-manager/src/test/java/org/apache/hadoop/ozone/om/response/key/TestOMAllocateBlockResponseWithFSO.java
+++
b/hadoop-ozone/ozone-manager/src/test/java/org/apache/hadoop/ozone/om/response/key/TestOMAllocateBlockResponseWithFSO.java
@@ -21,6 +21,7 @@ package org.apache.hadoop.ozone.om.response.key;
import org.apache.hadoop.hdds.conf.OzoneConfiguration;
import org.apache.hadoop.hdds.protocol.proto.HddsProtos;
import org.apache.hadoop.ozone.OzoneConsts;
+import org.apache.hadoop.ozone.om.helpers.BucketLayout;
import org.apache.hadoop.ozone.om.helpers.OmBucketInfo;
import org.apache.hadoop.ozone.om.helpers.OmKeyInfo;
import org.apache.hadoop.ozone.om.ratis.utils.OzoneManagerRatisUtils;
@@ -82,4 +83,8 @@ public class TestOMAllocateBlockResponseWithFSO
return config;
}
+ @Override
+ public BucketLayout getBucketLayout() {
+ return BucketLayout.FILE_SYSTEM_OPTIMIZED;
+ }
}
diff --git
a/hadoop-ozone/ozone-manager/src/test/java/org/apache/hadoop/ozone/om/response/key/TestOMKeyCommitResponse.java
b/hadoop-ozone/ozone-manager/src/test/java/org/apache/hadoop/ozone/om/response/key/TestOMKeyCommitResponse.java
index e2a223c..59e054e 100644
---
a/hadoop-ozone/ozone-manager/src/test/java/org/apache/hadoop/ozone/om/response/key/TestOMKeyCommitResponse.java
+++
b/hadoop-ozone/ozone-manager/src/test/java/org/apache/hadoop/ozone/om/response/key/TestOMKeyCommitResponse.java
@@ -55,7 +55,8 @@ public class TestOMKeyCommitResponse extends
TestOMKeyResponse {
addKeyToOpenKeyTable();
String openKey = getOpenKeyName();
- Assert.assertTrue(omMetadataManager.getOpenKeyTable().isExist(openKey));
+ Assert.assertTrue(
+ omMetadataManager.getOpenKeyTable(getBucketLayout()).isExist(openKey));
String ozoneKey = getOzoneKey();
OMKeyCommitResponse omKeyCommitResponse = getOmKeyCommitResponse(
@@ -67,7 +68,8 @@ public class TestOMKeyCommitResponse extends
TestOMKeyResponse {
omMetadataManager.getStore().commitBatchOperation(batchOperation);
// When key commit key is deleted from openKey table and added to keyTable.
- Assert.assertFalse(omMetadataManager.getOpenKeyTable().isExist(openKey));
+ Assert.assertFalse(
+ omMetadataManager.getOpenKeyTable(getBucketLayout()).isExist(openKey));
Assert.assertTrue(omMetadataManager.getKeyTable().isExist(ozoneKey));
}
@@ -97,7 +99,8 @@ public class TestOMKeyCommitResponse extends
TestOMKeyResponse {
// Adding it here.
addKeyToOpenKeyTable();
- Assert.assertTrue(omMetadataManager.getOpenKeyTable().isExist(openKey));
+ Assert.assertTrue(
+ omMetadataManager.getOpenKeyTable(getBucketLayout()).isExist(openKey));
omKeyCommitResponse.checkAndUpdateDB(omMetadataManager, batchOperation);
@@ -107,7 +110,8 @@ public class TestOMKeyCommitResponse extends
TestOMKeyResponse {
// As omResponse is error it is a no-op. So, entry should still be in
// openKey table.
- Assert.assertTrue(omMetadataManager.getOpenKeyTable().isExist(openKey));
+ Assert.assertTrue(
+ omMetadataManager.getOpenKeyTable(getBucketLayout()).isExist(openKey));
Assert.assertFalse(omMetadataManager.getKeyTable().isExist(ozoneKey));
}
diff --git
a/hadoop-ozone/ozone-manager/src/test/java/org/apache/hadoop/ozone/om/response/key/TestOMKeyCommitResponseWithFSO.java
b/hadoop-ozone/ozone-manager/src/test/java/org/apache/hadoop/ozone/om/response/key/TestOMKeyCommitResponseWithFSO.java
index 3069e2f..f7eeee6 100644
---
a/hadoop-ozone/ozone-manager/src/test/java/org/apache/hadoop/ozone/om/response/key/TestOMKeyCommitResponseWithFSO.java
+++
b/hadoop-ozone/ozone-manager/src/test/java/org/apache/hadoop/ozone/om/response/key/TestOMKeyCommitResponseWithFSO.java
@@ -20,6 +20,7 @@ package org.apache.hadoop.ozone.om.response.key;
import org.apache.hadoop.hdds.conf.OzoneConfiguration;
import org.apache.hadoop.hdds.protocol.proto.HddsProtos;
+import org.apache.hadoop.ozone.om.helpers.BucketLayout;
import org.apache.hadoop.ozone.om.helpers.OmKeyInfo;
import org.apache.hadoop.ozone.om.helpers.OzoneFSUtils;
import org.apache.hadoop.ozone.om.ratis.utils.OzoneManagerRatisUtils;
@@ -99,4 +100,9 @@ public class TestOMKeyCommitResponseWithFSO extends
TestOMKeyCommitResponse {
OzoneManagerRatisUtils.setBucketFSOptimized(true);
return config;
}
+
+ @Override
+ public BucketLayout getBucketLayout() {
+ return BucketLayout.FILE_SYSTEM_OPTIMIZED;
+ }
}
diff --git
a/hadoop-ozone/ozone-manager/src/test/java/org/apache/hadoop/ozone/om/response/key/TestOMKeyCreateResponse.java
b/hadoop-ozone/ozone-manager/src/test/java/org/apache/hadoop/ozone/om/response/key/TestOMKeyCreateResponse.java
index 7566afb..290d7b9 100644
---
a/hadoop-ozone/ozone-manager/src/test/java/org/apache/hadoop/ozone/om/response/key/TestOMKeyCreateResponse.java
+++
b/hadoop-ozone/ozone-manager/src/test/java/org/apache/hadoop/ozone/om/response/key/TestOMKeyCreateResponse.java
@@ -58,13 +58,15 @@ public class TestOMKeyCreateResponse extends
TestOMKeyResponse {
String openKey = getOpenKeyName();
- Assert.assertFalse(omMetadataManager.getOpenKeyTable().isExist(openKey));
+ Assert.assertFalse(
+ omMetadataManager.getOpenKeyTable(getBucketLayout()).isExist(openKey));
omKeyCreateResponse.addToDBBatch(omMetadataManager, batchOperation);
// Do manual commit and see whether addToBatch is successful or not.
omMetadataManager.getStore().commitBatchOperation(batchOperation);
- Assert.assertTrue(omMetadataManager.getOpenKeyTable().isExist(openKey));
+ Assert.assertTrue(
+ omMetadataManager.getOpenKeyTable(getBucketLayout()).isExist(openKey));
}
@Test
@@ -88,7 +90,8 @@ public class TestOMKeyCreateResponse extends
TestOMKeyResponse {
// Before calling addToDBBatch
String openKey = getOpenKeyName();
- Assert.assertFalse(omMetadataManager.getOpenKeyTable().isExist(openKey));
+ Assert.assertFalse(
+ omMetadataManager.getOpenKeyTable(getBucketLayout()).isExist(openKey));
omKeyCreateResponse.checkAndUpdateDB(omMetadataManager, batchOperation);
@@ -96,7 +99,8 @@ public class TestOMKeyCreateResponse extends
TestOMKeyResponse {
omMetadataManager.getStore().commitBatchOperation(batchOperation);
// As omResponse is error it is a no-op.
- Assert.assertFalse(omMetadataManager.getOpenKeyTable().isExist(openKey));
+ Assert.assertFalse(
+ omMetadataManager.getOpenKeyTable(getBucketLayout()).isExist(openKey));
}
diff --git
a/hadoop-ozone/ozone-manager/src/test/java/org/apache/hadoop/ozone/om/response/key/TestOMKeyCreateResponseWithFSO.java
b/hadoop-ozone/ozone-manager/src/test/java/org/apache/hadoop/ozone/om/response/key/TestOMKeyCreateResponseWithFSO.java
index 59cdcd3..893e7dc 100644
---
a/hadoop-ozone/ozone-manager/src/test/java/org/apache/hadoop/ozone/om/response/key/TestOMKeyCreateResponseWithFSO.java
+++
b/hadoop-ozone/ozone-manager/src/test/java/org/apache/hadoop/ozone/om/response/key/TestOMKeyCreateResponseWithFSO.java
@@ -19,6 +19,7 @@
package org.apache.hadoop.ozone.om.response.key;
import org.apache.hadoop.hdds.conf.OzoneConfiguration;
+import org.apache.hadoop.ozone.om.helpers.BucketLayout;
import org.apache.hadoop.ozone.om.helpers.OmBucketInfo;
import org.apache.hadoop.ozone.om.helpers.OmKeyInfo;
import org.apache.hadoop.ozone.om.ratis.utils.OzoneManagerRatisUtils;
@@ -73,4 +74,9 @@ public class TestOMKeyCreateResponseWithFSO extends
TestOMKeyCreateResponse {
return new OMKeyCreateResponseWithFSO(response, keyInfo, new ArrayList<>(),
clientID, bucketInfo);
}
+
+ @Override
+ public BucketLayout getBucketLayout() {
+ return BucketLayout.FILE_SYSTEM_OPTIMIZED;
+ }
}
diff --git
a/hadoop-ozone/ozone-manager/src/test/java/org/apache/hadoop/ozone/om/response/key/TestOMKeyDeleteResponseWithFSO.java
b/hadoop-ozone/ozone-manager/src/test/java/org/apache/hadoop/ozone/om/response/key/TestOMKeyDeleteResponseWithFSO.java
index 9a68f96..fe9cfca 100644
---
a/hadoop-ozone/ozone-manager/src/test/java/org/apache/hadoop/ozone/om/response/key/TestOMKeyDeleteResponseWithFSO.java
+++
b/hadoop-ozone/ozone-manager/src/test/java/org/apache/hadoop/ozone/om/response/key/TestOMKeyDeleteResponseWithFSO.java
@@ -20,6 +20,7 @@ package org.apache.hadoop.ozone.om.response.key;
import org.apache.hadoop.hdds.conf.OzoneConfiguration;
import org.apache.hadoop.hdds.protocol.proto.HddsProtos;
+import org.apache.hadoop.ozone.om.helpers.BucketLayout;
import org.apache.hadoop.ozone.om.helpers.OmKeyInfo;
import org.apache.hadoop.ozone.om.ratis.utils.OzoneManagerRatisUtils;
import org.apache.hadoop.ozone.om.request.TestOMRequestUtils;
@@ -81,4 +82,9 @@ public class TestOMKeyDeleteResponseWithFSO extends
TestOMKeyDeleteResponse {
OzoneManagerRatisUtils.setBucketFSOptimized(true);
return config;
}
+
+ @Override
+ public BucketLayout getBucketLayout() {
+ return BucketLayout.FILE_SYSTEM_OPTIMIZED;
+ }
}
diff --git
a/hadoop-ozone/ozone-manager/src/test/java/org/apache/hadoop/ozone/om/response/key/TestOMKeyResponse.java
b/hadoop-ozone/ozone-manager/src/test/java/org/apache/hadoop/ozone/om/response/key/TestOMKeyResponse.java
index df7fd01..462b407 100644
---
a/hadoop-ozone/ozone-manager/src/test/java/org/apache/hadoop/ozone/om/response/key/TestOMKeyResponse.java
+++
b/hadoop-ozone/ozone-manager/src/test/java/org/apache/hadoop/ozone/om/response/key/TestOMKeyResponse.java
@@ -21,6 +21,7 @@ package org.apache.hadoop.ozone.om.response.key;
import java.util.Random;
import java.util.UUID;
+import org.apache.hadoop.ozone.om.helpers.BucketLayout;
import org.apache.hadoop.ozone.om.helpers.OmBucketInfo;
import org.apache.hadoop.ozone.om.helpers.OmKeyInfo;
import org.apache.hadoop.ozone.om.request.TestOMRequestUtils;
@@ -101,4 +102,8 @@ public class TestOMKeyResponse {
}
}
+ public BucketLayout getBucketLayout() {
+ return BucketLayout.DEFAULT;
+ }
+
}
diff --git
a/hadoop-ozone/ozone-manager/src/test/java/org/apache/hadoop/ozone/om/response/key/TestOMOpenKeysDeleteResponse.java
b/hadoop-ozone/ozone-manager/src/test/java/org/apache/hadoop/ozone/om/response/key/TestOMOpenKeysDeleteResponse.java
index 90d3204..56e372d 100644
---
a/hadoop-ozone/ozone-manager/src/test/java/org/apache/hadoop/ozone/om/response/key/TestOMOpenKeysDeleteResponse.java
+++
b/hadoop-ozone/ozone-manager/src/test/java/org/apache/hadoop/ozone/om/response/key/TestOMOpenKeysDeleteResponse.java
@@ -50,13 +50,15 @@ public class TestOMOpenKeysDeleteResponse extends
TestOMKeyResponse {
for (String key: keysToDelete.keySet()) {
// open keys with no associated block data should have been removed
// from the open key table, but not added to the deleted table.
- Assert.assertFalse(omMetadataManager.getOpenKeyTable().isExist(key));
+ Assert.assertFalse(
+ omMetadataManager.getOpenKeyTable(getBucketLayout()).isExist(key));
Assert.assertFalse(omMetadataManager.getDeletedTable().isExist(key));
}
for (String key: keysToKeep.keySet()) {
// These keys should not have been removed from the open key table.
- Assert.assertTrue(omMetadataManager.getOpenKeyTable().isExist(key));
+ Assert.assertTrue(
+ omMetadataManager.getOpenKeyTable(getBucketLayout()).isExist(key));
Assert.assertFalse(omMetadataManager.getDeletedTable().isExist(key));
}
}
@@ -77,13 +79,15 @@ public class TestOMOpenKeysDeleteResponse extends
TestOMKeyResponse {
for (String key: keysToDelete.keySet()) {
// These keys should have been moved from the open key table to the
// delete table.
- Assert.assertFalse(omMetadataManager.getOpenKeyTable().isExist(key));
+ Assert.assertFalse(
+ omMetadataManager.getOpenKeyTable(getBucketLayout()).isExist(key));
Assert.assertTrue(omMetadataManager.getDeletedTable().isExist(key));
}
for (String key: keysToKeep.keySet()) {
// These keys should not have been moved out of the open key table.
- Assert.assertTrue(omMetadataManager.getOpenKeyTable().isExist(key));
+ Assert.assertTrue(
+ omMetadataManager.getOpenKeyTable(getBucketLayout()).isExist(key));
Assert.assertFalse(omMetadataManager.getDeletedTable().isExist(key));
}
}
@@ -101,7 +105,8 @@ public class TestOMOpenKeysDeleteResponse extends
TestOMKeyResponse {
for (String key: keysToDelete.keySet()) {
// If an error occurs in the response, the batch operation moving keys
// from the open key table to the delete table should not be committed.
- Assert.assertTrue(omMetadataManager.getOpenKeyTable().isExist(key));
+ Assert.assertTrue(
+ omMetadataManager.getOpenKeyTable(getBucketLayout()).isExist(key));
Assert.assertFalse(omMetadataManager.getDeletedTable().isExist(key));
}
}
@@ -174,7 +179,8 @@ public class TestOMOpenKeysDeleteResponse extends
TestOMKeyResponse {
// cache by the request, and it would only remain in the DB.
TestOMRequestUtils.addKeyToTable(true, false, omKeyInfo,
clientID, 0L, omMetadataManager);
- Assert.assertTrue(omMetadataManager.getOpenKeyTable().isExist(openKey));
+ Assert.assertTrue(omMetadataManager.getOpenKeyTable(getBucketLayout())
+ .isExist(openKey));
newOpenKeys.put(openKey, omKeyInfo);
}
diff --git
a/hadoop-ozone/ozone-manager/src/test/java/org/apache/hadoop/ozone/om/response/s3/multipart/TestS3InitiateMultipartUploadResponse.java
b/hadoop-ozone/ozone-manager/src/test/java/org/apache/hadoop/ozone/om/response/s3/multipart/TestS3InitiateMultipartUploadResponse.java
index 03065ab..927f445 100644
---
a/hadoop-ozone/ozone-manager/src/test/java/org/apache/hadoop/ozone/om/response/s3/multipart/TestS3InitiateMultipartUploadResponse.java
+++
b/hadoop-ozone/ozone-manager/src/test/java/org/apache/hadoop/ozone/om/response/s3/multipart/TestS3InitiateMultipartUploadResponse.java
@@ -52,7 +52,8 @@ public class TestS3InitiateMultipartUploadResponse
String multipartKey = omMetadataManager.getMultipartKey(volumeName,
bucketName, keyName, multipartUploadID);
-
Assert.assertNotNull(omMetadataManager.getOpenKeyTable().get(multipartKey));
+ Assert.assertNotNull(
+
omMetadataManager.getOpenKeyTable(getBucketLayout()).get(multipartKey));
Assert.assertNotNull(omMetadataManager.getMultipartInfoTable()
.get(multipartKey));
diff --git
a/hadoop-ozone/ozone-manager/src/test/java/org/apache/hadoop/ozone/om/response/s3/multipart/TestS3InitiateMultipartUploadResponseWithFSO.java
b/hadoop-ozone/ozone-manager/src/test/java/org/apache/hadoop/ozone/om/response/s3/multipart/TestS3InitiateMultipartUploadResponseWithFSO.java
index 6ef79d4..e02b8e4 100644
---
a/hadoop-ozone/ozone-manager/src/test/java/org/apache/hadoop/ozone/om/response/s3/multipart/TestS3InitiateMultipartUploadResponseWithFSO.java
+++
b/hadoop-ozone/ozone-manager/src/test/java/org/apache/hadoop/ozone/om/response/s3/multipart/TestS3InitiateMultipartUploadResponseWithFSO.java
@@ -19,6 +19,7 @@
package org.apache.hadoop.ozone.om.response.s3.multipart;
+import org.apache.hadoop.ozone.om.helpers.BucketLayout;
import org.apache.hadoop.ozone.om.helpers.OmDirectoryInfo;
import org.apache.hadoop.ozone.om.helpers.OmKeyInfo;
import org.apache.hadoop.ozone.om.helpers.OmMultipartKeyInfo;
@@ -35,6 +36,10 @@ import java.util.UUID;
public class TestS3InitiateMultipartUploadResponseWithFSO
extends TestS3InitiateMultipartUploadResponse {
+ public BucketLayout getBucketLayout() {
+ return BucketLayout.FILE_SYSTEM_OPTIMIZED;
+ }
+
@Test
public void testAddDBToBatch() throws Exception {
String volumeName = UUID.randomUUID().toString();
@@ -64,8 +69,8 @@ public class TestS3InitiateMultipartUploadResponseWithFSO
String multipartOpenKey = omMetadataManager
.getMultipartKey(parentID, fileName, multipartUploadID);
- OmKeyInfo omKeyInfo =
- omMetadataManager.getOpenKeyTable().get(multipartOpenKey);
+ OmKeyInfo omKeyInfo = omMetadataManager.getOpenKeyTable(getBucketLayout())
+ .get(multipartOpenKey);
Assert.assertNotNull("Failed to find the fileInfo", omKeyInfo);
Assert.assertEquals("FileName mismatches!", fileName,
omKeyInfo.getKeyName());
diff --git
a/hadoop-ozone/ozone-manager/src/test/java/org/apache/hadoop/ozone/om/response/s3/multipart/TestS3MultipartResponse.java
b/hadoop-ozone/ozone-manager/src/test/java/org/apache/hadoop/ozone/om/response/s3/multipart/TestS3MultipartResponse.java
index cb28316..c869738 100644
---
a/hadoop-ozone/ozone-manager/src/test/java/org/apache/hadoop/ozone/om/response/s3/multipart/TestS3MultipartResponse.java
+++
b/hadoop-ozone/ozone-manager/src/test/java/org/apache/hadoop/ozone/om/response/s3/multipart/TestS3MultipartResponse.java
@@ -26,18 +26,19 @@ import java.util.List;
import java.util.UUID;
import org.apache.hadoop.hdds.client.RatisReplicationConfig;
+import org.apache.hadoop.ozone.om.helpers.OmDirectoryInfo;
+import org.apache.hadoop.ozone.om.helpers.OmKeyInfo;
+import org.apache.hadoop.ozone.om.helpers.OmKeyLocationInfoGroup;
+import org.apache.hadoop.ozone.om.helpers.OmMultipartKeyInfo;
+import org.apache.hadoop.ozone.om.helpers.OzoneFSUtils;
import org.apache.hadoop.ozone.om.helpers.OmBucketInfo;
+import org.apache.hadoop.ozone.om.helpers.BucketLayout;
import org.junit.After;
import org.junit.Before;
import org.junit.Rule;
import org.junit.rules.TemporaryFolder;
import org.apache.hadoop.hdds.protocol.proto.HddsProtos;
-import org.apache.hadoop.ozone.om.helpers.OmDirectoryInfo;
-import org.apache.hadoop.ozone.om.helpers.OmKeyInfo;
-import org.apache.hadoop.ozone.om.helpers.OmKeyLocationInfoGroup;
-import org.apache.hadoop.ozone.om.helpers.OmMultipartKeyInfo;
-import org.apache.hadoop.ozone.om.helpers.OzoneFSUtils;
import org.apache.hadoop.ozone.protocol.proto.OzoneManagerProtocolProtos;
import org.apache.hadoop.ozone.protocol.proto.OzoneManagerProtocolProtos
.KeyInfo;
@@ -321,4 +322,8 @@ public class TestS3MultipartResponse {
return new S3MultipartUploadAbortResponse(omResponse, multipartKey,
multipartOpenKey, omMultipartKeyInfo, true, omBucketInfo);
}
+
+ public BucketLayout getBucketLayout() {
+ return BucketLayout.DEFAULT;
+ }
}
diff --git
a/hadoop-ozone/ozone-manager/src/test/java/org/apache/hadoop/ozone/om/response/s3/multipart/TestS3MultipartUploadAbortResponse.java
b/hadoop-ozone/ozone-manager/src/test/java/org/apache/hadoop/ozone/om/response/s3/multipart/TestS3MultipartUploadAbortResponse.java
index a568f90..1c4189a 100644
---
a/hadoop-ozone/ozone-manager/src/test/java/org/apache/hadoop/ozone/om/response/s3/multipart/TestS3MultipartUploadAbortResponse.java
+++
b/hadoop-ozone/ozone-manager/src/test/java/org/apache/hadoop/ozone/om/response/s3/multipart/TestS3MultipartUploadAbortResponse.java
@@ -22,11 +22,11 @@ import java.util.UUID;
import org.apache.hadoop.ozone.om.helpers.OmBucketInfo;
import org.apache.hadoop.ozone.om.helpers.RepeatedOmKeyInfo;
+import org.apache.hadoop.ozone.om.helpers.OmKeyInfo;
+import org.apache.hadoop.ozone.om.helpers.OmMultipartKeyInfo;
import org.junit.Assert;
import org.junit.Test;
-import org.apache.hadoop.ozone.om.helpers.OmKeyInfo;
-import org.apache.hadoop.ozone.om.helpers.OmMultipartKeyInfo;
import org.apache.hadoop.ozone.protocol.proto.OzoneManagerProtocolProtos
.PartKeyInfo;
import org.apache.hadoop.util.Time;
@@ -71,7 +71,9 @@ public class TestS3MultipartUploadAbortResponse
omMetadataManager.getStore().commitBatchOperation(batchOperation);
- Assert.assertNull(omMetadataManager.getOpenKeyTable().get(multipartKey));
+ Assert.assertNull(
+ omMetadataManager.getOpenKeyTable(getBucketLayout())
+ .get(multipartOpenKey));
Assert.assertNull(
omMetadataManager.getMultipartInfoTable().get(multipartKey));
@@ -130,7 +132,8 @@ public class TestS3MultipartUploadAbortResponse
omMetadataManager.getStore().commitBatchOperation(batchOperation);
- Assert.assertNull(omMetadataManager.getOpenKeyTable().get(multipartKey));
+ Assert.assertNull(
+
omMetadataManager.getOpenKeyTable(getBucketLayout()).get(multipartKey));
Assert.assertNull(
omMetadataManager.getMultipartInfoTable().get(multipartKey));
diff --git
a/hadoop-ozone/ozone-manager/src/test/java/org/apache/hadoop/ozone/om/response/s3/multipart/TestS3MultipartUploadCommitPartResponseWithFSO.java
b/hadoop-ozone/ozone-manager/src/test/java/org/apache/hadoop/ozone/om/response/s3/multipart/TestS3MultipartUploadCommitPartResponseWithFSO.java
index 17a8e60..6d640b3 100644
---
a/hadoop-ozone/ozone-manager/src/test/java/org/apache/hadoop/ozone/om/response/s3/multipart/TestS3MultipartUploadCommitPartResponseWithFSO.java
+++
b/hadoop-ozone/ozone-manager/src/test/java/org/apache/hadoop/ozone/om/response/s3/multipart/TestS3MultipartUploadCommitPartResponseWithFSO.java
@@ -22,6 +22,7 @@ import org.apache.hadoop.ozone.om.helpers.OmKeyInfo;
import org.apache.hadoop.ozone.om.helpers.OmMultipartKeyInfo;
import org.apache.hadoop.ozone.om.helpers.OzoneFSUtils;
import org.apache.hadoop.ozone.om.helpers.RepeatedOmKeyInfo;
+import org.apache.hadoop.ozone.om.helpers.BucketLayout;
import org.apache.hadoop.ozone.om.request.TestOMRequestUtils;
import org.apache.hadoop.ozone.protocol.proto.OzoneManagerProtocolProtos;
import
org.apache.hadoop.ozone.protocol.proto.OzoneManagerProtocolProtos.PartKeyInfo;
@@ -70,7 +71,8 @@ public class TestS3MultipartUploadCommitPartResponseWithFSO
omMetadataManager.getStore().commitBatchOperation(batchOperation);
- Assert.assertNull(omMetadataManager.getOpenKeyTable().get(openKey));
+ Assert.assertNull(
+ omMetadataManager.getOpenKeyTable(getBucketLayout()).get(openKey));
Assert.assertNotNull(
omMetadataManager.getMultipartInfoTable().get(multipartKey));
@@ -128,7 +130,8 @@ public class TestS3MultipartUploadCommitPartResponseWithFSO
s3MultipartUploadCommitPartResponse.checkAndUpdateDB(omMetadataManager,
batchOperation);
- Assert.assertNull(omMetadataManager.getOpenKeyTable().get(openKey));
+ Assert.assertNull(
+ omMetadataManager.getOpenKeyTable(getBucketLayout()).get(openKey));
Assert.assertNull(
omMetadataManager.getMultipartInfoTable().get(multipartKey));
@@ -199,7 +202,8 @@ public class TestS3MultipartUploadCommitPartResponseWithFSO
s3MultipartUploadCommitPartResponse.checkAndUpdateDB(omMetadataManager,
batchOperation);
- Assert.assertNull(omMetadataManager.getOpenKeyTable().get(openKey));
+ Assert.assertNull(
+ omMetadataManager.getOpenKeyTable(getBucketLayout()).get(openKey));
Assert.assertNull(
omMetadataManager.getMultipartInfoTable().get(multipartKey));
@@ -223,4 +227,9 @@ public class TestS3MultipartUploadCommitPartResponseWithFSO
parentID = TestOMRequestUtils.addParentsToDirTable(volumeName, bucketName,
dirName, omMetadataManager);
}
+
+ @Override
+ public BucketLayout getBucketLayout() {
+ return BucketLayout.FILE_SYSTEM_OPTIMIZED;
+ }
}
diff --git
a/hadoop-ozone/ozone-manager/src/test/java/org/apache/hadoop/ozone/om/response/s3/multipart/TestS3MultipartUploadCompleteResponseWithFSO.java
b/hadoop-ozone/ozone-manager/src/test/java/org/apache/hadoop/ozone/om/response/s3/multipart/TestS3MultipartUploadCompleteResponseWithFSO.java
index 624c2fb..5114c73 100644
---
a/hadoop-ozone/ozone-manager/src/test/java/org/apache/hadoop/ozone/om/response/s3/multipart/TestS3MultipartUploadCompleteResponseWithFSO.java
+++
b/hadoop-ozone/ozone-manager/src/test/java/org/apache/hadoop/ozone/om/response/s3/multipart/TestS3MultipartUploadCompleteResponseWithFSO.java
@@ -23,6 +23,7 @@ import org.apache.hadoop.ozone.om.helpers.OmDirectoryInfo;
import org.apache.hadoop.ozone.om.helpers.OmKeyInfo;
import org.apache.hadoop.ozone.om.helpers.OmMultipartKeyInfo;
import org.apache.hadoop.ozone.om.helpers.OzoneFSUtils;
+import org.apache.hadoop.ozone.om.helpers.BucketLayout;
import org.apache.hadoop.ozone.om.helpers.RepeatedOmKeyInfo;
import org.apache.hadoop.ozone.om.request.TestOMRequestUtils;
import org.apache.hadoop.ozone.protocol.proto.OzoneManagerProtocolProtos;
@@ -96,8 +97,8 @@ public class TestS3MultipartUploadCompleteResponseWithFSO
Assert.assertNotNull(
omMetadataManager.getMultipartInfoTable().get(dbMultipartKey));
- Assert.assertNotNull(
- omMetadataManager.getOpenKeyTable().get(dbMultipartOpenKey));
+ Assert.assertNotNull(omMetadataManager.getOpenKeyTable(getBucketLayout())
+ .get(dbMultipartOpenKey));
List<OmKeyInfo> unUsedParts = new ArrayList<>();
S3MultipartUploadCompleteResponse s3MultipartUploadCompleteResponse =
@@ -113,8 +114,8 @@ public class TestS3MultipartUploadCompleteResponseWithFSO
Assert.assertNotNull(omMetadataManager.getKeyTable().get(dbKey));
Assert.assertNull(
omMetadataManager.getMultipartInfoTable().get(dbMultipartKey));
- Assert.assertNull(
- omMetadataManager.getOpenKeyTable().get(dbMultipartOpenKey));
+ Assert.assertNull(omMetadataManager.getOpenKeyTable(getBucketLayout())
+ .get(dbMultipartOpenKey));
// As no parts are created, so no entries should be there in delete table.
Assert.assertEquals(0, omMetadataManager.countRowsInTable(
@@ -180,8 +181,8 @@ public class TestS3MultipartUploadCompleteResponseWithFSO
Assert.assertNotNull(omMetadataManager.getKeyTable().get(dbKey));
Assert.assertNull(
omMetadataManager.getMultipartInfoTable().get(dbMultipartKey));
- Assert.assertNull(
- omMetadataManager.getOpenKeyTable().get(dbMultipartOpenKey));
+ Assert.assertNull(omMetadataManager.getOpenKeyTable(getBucketLayout())
+ .get(dbMultipartOpenKey));
// As 1 unused parts exists, so 1 unused entry should be there in delete
// table.
@@ -214,7 +215,8 @@ public class TestS3MultipartUploadCompleteResponseWithFSO
s3MultipartUploadCommitPartResponse.checkAndUpdateDB(omMetadataManager,
batchOperation);
- Assert.assertNull(omMetadataManager.getOpenKeyTable().get(multipartKey));
+ Assert.assertNull(
+
omMetadataManager.getOpenKeyTable(getBucketLayout()).get(multipartKey));
Assert.assertNull(
omMetadataManager.getMultipartInfoTable().get(multipartKey));
@@ -276,4 +278,9 @@ public class TestS3MultipartUploadCompleteResponseWithFSO
omMetadataManager.getStore().commitBatchOperation(batchOperation);
}
+
+ @Override
+ public BucketLayout getBucketLayout() {
+ return BucketLayout.FILE_SYSTEM_OPTIMIZED;
+ }
}
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]