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