This is an automated email from the ASF dual-hosted git repository.

elek pushed a commit to branch HDDS-2181
in repository https://gitbox.apache.org/repos/asf/hadoop-ozone.git

commit ac4990fc02da8e6359a0099f38699940805afc5a
Author: Vivek Ratnavel Subramanian <vivekratnave...@gmail.com>
AuthorDate: Thu Oct 10 19:07:47 2019 -0700

    Fix acceptance test failures
---
 .../java/org/apache/hadoop/ozone/security/acl/OzoneObjInfo.java  | 1 +
 .../src/main/java/org/apache/hadoop/ozone/om/KeyManagerImpl.java | 9 +++++++--
 .../apache/hadoop/ozone/security/acl/OzoneNativeAuthorizer.java  | 1 +
 3 files changed, 9 insertions(+), 2 deletions(-)

diff --git 
a/hadoop-ozone/common/src/main/java/org/apache/hadoop/ozone/security/acl/OzoneObjInfo.java
 
b/hadoop-ozone/common/src/main/java/org/apache/hadoop/ozone/security/acl/OzoneObjInfo.java
index cbae18c..f29f372 100644
--- 
a/hadoop-ozone/common/src/main/java/org/apache/hadoop/ozone/security/acl/OzoneObjInfo.java
+++ 
b/hadoop-ozone/common/src/main/java/org/apache/hadoop/ozone/security/acl/OzoneObjInfo.java
@@ -62,6 +62,7 @@ public final class OzoneObjInfo extends OzoneObj {
       return OZONE_URI_DELIMITER + getVolumeName()
           + OZONE_URI_DELIMITER + getBucketName();
     case KEY:
+    case OPEN_KEY:
       return OZONE_URI_DELIMITER + getVolumeName()
           + OZONE_URI_DELIMITER + getBucketName()
           + OZONE_URI_DELIMITER + getKeyName();
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 d0be40b..19976e5 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
@@ -1660,8 +1660,13 @@ public class KeyManagerImpl implements KeyManager {
       if (ozObject.getResourceType() == OPEN_KEY) {
         keyInfo = metadataManager.getOpenKeyTable().get(objectKey);
       } else {
-        OzoneFileStatus fileStatus = getFileStatus(args);
-        keyInfo = fileStatus.getKeyInfo();
+        try {
+          OzoneFileStatus fileStatus = getFileStatus(args);
+          keyInfo = fileStatus.getKeyInfo();
+        } catch (Exception e) {
+          throw new OMException("Key not found, checkAccess failed. Key:" +
+              objectKey, KEY_NOT_FOUND);
+        }
       }
 
       if (keyInfo == null) {
diff --git 
a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/security/acl/OzoneNativeAuthorizer.java
 
b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/security/acl/OzoneNativeAuthorizer.java
index 1731421..d974537 100644
--- 
a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/security/acl/OzoneNativeAuthorizer.java
+++ 
b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/security/acl/OzoneNativeAuthorizer.java
@@ -108,6 +108,7 @@ public class OzoneNativeAuthorizer implements 
IAccessAuthorizer {
       return (bucketAccess
           && volumeManager.checkAccess(objInfo, parentContext));
     case KEY:
+    case OPEN_KEY:
       LOG.trace("Checking access for Key:" + objInfo);
       // Skip key access check for CREATE acl since
       // key will not exist at the time of creation


---------------------------------------------------------------------
To unsubscribe, e-mail: hdfs-commits-unsubscr...@hadoop.apache.org
For additional commands, e-mail: hdfs-commits-h...@hadoop.apache.org

Reply via email to