diff --git a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/key/acl/OMKeyAclRequestWithFSO.java b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/key/acl/OMKeyAclRequestWithFSO.java index 8f47c9e5b2e3..6089d3201399 100644 --- a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/key/acl/OMKeyAclRequestWithFSO.java +++ b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/key/acl/OMKeyAclRequestWithFSO.java @@ -35,6 +35,7 @@ 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.OzoneFSUtils; import org.apache.hadoop.ozone.om.helpers.OzoneFileStatus; import org.apache.hadoop.ozone.om.request.file.OMFileRequest; import org.apache.hadoop.ozone.om.request.util.ObjectParser; @@ -96,6 +97,9 @@ public OMClientResponse validateAndUpdateCache(OzoneManager ozoneManager, Execut throw new OMException("Key not found. Key:" + key, KEY_NOT_FOUND); } omKeyInfo = keyStatus.getKeyInfo(); + // Reverting back the full path to key name + // Eg: a/b/c/d/e/file1 -> file1 + omKeyInfo.setKeyName(OzoneFSUtils.getFileName(key)); final long volumeId = omMetadataManager.getVolumeId(volume); final long bucketId = omMetadataManager.getBucketId(volume, bucket); final String dbKey = omMetadataManager.getOzonePathKey(volumeId, bucketId, diff --git a/hadoop-ozone/ozone-manager/src/test/java/org/apache/hadoop/ozone/om/request/key/TestOMKeyAclRequest.java b/hadoop-ozone/ozone-manager/src/test/java/org/apache/hadoop/ozone/om/request/key/TestOMKeyAclRequest.java index 7f03d0184a39..774fab2574b7 100644 --- a/hadoop-ozone/ozone-manager/src/test/java/org/apache/hadoop/ozone/om/request/key/TestOMKeyAclRequest.java +++ b/hadoop-ozone/ozone-manager/src/test/java/org/apache/hadoop/ozone/om/request/key/TestOMKeyAclRequest.java @@ -83,6 +83,10 @@ public void testKeyAddAclRequest() throws Exception { assertEquals(OzoneManagerProtocolProtos.Status.OK, omClientResponse.getOMResponse().getStatus()); + // Verify result of adding acl. + OmKeyInfo newKeyInfo = omMetadataManager.getKeyTable(getBucketLayout()).get(ozoneKey); + assertEquals(1, newKeyInfo.getAcls().size()); + assertEquals(omKeyInfo.getKeyName(), newKeyInfo.getKeyName()); } @Test @@ -141,10 +145,9 @@ public void testKeyRemoveAclRequest() throws Exception { omRemoveAclResponse.getStatus()); // Verify result of removing acl. - List newAcls = - omMetadataManager.getKeyTable(getBucketLayout()).get(ozoneKey) - .getAcls(); - assertEquals(0, newAcls.size()); + OmKeyInfo newKeyInfo = omMetadataManager.getKeyTable(getBucketLayout()).get(ozoneKey); + assertEquals(0, newKeyInfo.getAcls().size()); + assertEquals(omKeyInfo.getKeyName(), newKeyInfo.getKeyName()); } @Test @@ -182,10 +185,9 @@ public void testKeySetAclRequest() throws Exception { omSetAclResponse.getStatus()); // Verify result of setting acl. - List newAcls = - omMetadataManager.getKeyTable(getBucketLayout()).get(ozoneKey) - .getAcls(); - assertEquals(newAcls.get(0), acl); + OmKeyInfo newKeyInfo = omMetadataManager.getKeyTable(getBucketLayout()).get(ozoneKey); + assertEquals(newKeyInfo.getAcls().get(0), acl); + assertEquals(omKeyInfo.getKeyName(), newKeyInfo.getKeyName()); } /** diff --git a/hadoop-ozone/ozone-manager/src/test/java/org/apache/hadoop/ozone/om/request/key/TestOMKeyAclRequestWithFSO.java b/hadoop-ozone/ozone-manager/src/test/java/org/apache/hadoop/ozone/om/request/key/TestOMKeyAclRequestWithFSO.java index 822e270627ca..04fd4f88502e 100644 --- a/hadoop-ozone/ozone-manager/src/test/java/org/apache/hadoop/ozone/om/request/key/TestOMKeyAclRequestWithFSO.java +++ b/hadoop-ozone/ozone-manager/src/test/java/org/apache/hadoop/ozone/om/request/key/TestOMKeyAclRequestWithFSO.java @@ -38,8 +38,7 @@ public class TestOMKeyAclRequestWithFSO extends TestOMKeyAclRequest { protected String addKeyToTable() throws Exception { String parentDir = "c/d/e"; String fileName = "file1"; - String key = parentDir + "/" + fileName; - keyName = key; // updated key name + keyName = parentDir + "/" + fileName; // updated key name // Create parent dirs for the path long parentId = OMRequestTestUtils @@ -47,7 +46,7 @@ protected String addKeyToTable() throws Exception { omMetadataManager); OmKeyInfo omKeyInfo = - OMRequestTestUtils.createOmKeyInfo(volumeName, bucketName, key, RatisReplicationConfig.getInstance(ONE)) + OMRequestTestUtils.createOmKeyInfo(volumeName, bucketName, fileName, RatisReplicationConfig.getInstance(ONE)) .setObjectID(parentId + 1L) .setParentObjectID(parentId) .setUpdateID(100L)