From 3cecfc15b79bf3afbf6d6cfe6db8e9178d5e480a Mon Sep 17 00:00:00 2001 From: Bharat Viswanadham Date: Thu, 13 Aug 2020 10:11:28 -0700 Subject: [PATCH] make lookupKey work for directory path. --- .../org/apache/hadoop/fs/ozone/TestOzoneFileSystem.java | 9 ++++++--- .../java/org/apache/hadoop/ozone/om/KeyManagerImpl.java | 1 - 2 files changed, 6 insertions(+), 4 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 cdfe0cfdade..76de9b80eab 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 @@ -47,6 +47,7 @@ import org.apache.hadoop.ozone.om.OMConfigKeys; import org.apache.hadoop.ozone.om.helpers.OmKeyArgs; import org.apache.hadoop.ozone.om.helpers.OpenKeySession; +import org.apache.hadoop.ozone.om.helpers.OzoneFileStatus; import org.apache.hadoop.security.UserGroupInformation; import org.apache.hadoop.test.GenericTestUtils; @@ -320,9 +321,11 @@ private void testDeleteCreatesFakeParentDir() throws Exception { // Deleting the only child should create the parent dir key if it does // not exist - String parentKey = o3fs.pathToKey(parent) + "/"; - OzoneKeyDetails parentKeyInfo = getKey(parent, true); - assertEquals(parentKey, parentKeyInfo.getName()); + String parentKey = o3fs.pathToKey(parent); + OzoneFileStatus fileStatus = + cluster.getClient().getObjectStore().getVolume(volumeName) + .getBucket(bucketName).getFileStatus(parentKey); + assertEquals(parent.toString(), fileStatus.getPath()); } 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 40273581ff2..e207100aa55 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 @@ -654,7 +654,6 @@ public OmKeyInfo lookupKey(OmKeyArgs args, String clientAddress) String keyName = OMClientRequest.validateAndNormalizeKey( enableFileSystemPaths, args.getKeyName()); - metadataManager.getLock().acquireReadLock(BUCKET_LOCK, volumeName, bucketName); OmKeyInfo value = null;