You are viewing a plain text version of this content. The canonical link for it is here.
Posted to hdfs-commits@hadoop.apache.org by el...@apache.org on 2019/10/13 06:51:08 UTC

[hadoop-ozone] 16/18: Fix acceptance test failures

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 <vi...@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-unsubscribe@hadoop.apache.org
For additional commands, e-mail: hdfs-commits-help@hadoop.apache.org