From 2ea71d953b46221f90b38d75a2999056f044471f Mon Sep 17 00:00:00 2001 From: Bharat Viswanadham Date: Mon, 22 Jul 2019 15:11:10 -0700 Subject: [PATCH] =?UTF-8?q?HDDS-1686.=20Remove=20check=20to=20get=20from?= =?UTF-8?q?=20openKeyTable=20in=20acl=20implementatio=E2=80=A6=20(#966)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../hadoop/ozone/om/KeyManagerImpl.java | 43 ++++--------------- 1 file changed, 8 insertions(+), 35 deletions(-) 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 24af013baa7..c7182c2504a 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 @@ -1396,17 +1396,10 @@ public boolean addAcl(OzoneObj obj, OzoneAcl acl) throws IOException { validateBucket(volume, bucket); String objectKey = metadataManager.getOzoneKey(volume, bucket, keyName); OmKeyInfo keyInfo = metadataManager.getKeyTable().get(objectKey); - Table keyTable; if (keyInfo == null) { - keyInfo = metadataManager.getOpenKeyTable().get(objectKey); - if (keyInfo == null) { - throw new OMException("Key not found. Key:" + - objectKey, KEY_NOT_FOUND); - } - keyTable = metadataManager.getOpenKeyTable(); - } else { - keyTable = metadataManager.getKeyTable(); + throw new OMException("Key not found. Key:" + objectKey, KEY_NOT_FOUND); } + List newAcls = new ArrayList<>(keyInfo.getAcls()); OzoneAclInfo newAcl = null; for(OzoneAclInfo a: keyInfo.getAcls()) { @@ -1442,7 +1435,7 @@ public boolean addAcl(OzoneObj obj, OzoneAcl acl) throws IOException { .setDataSize(keyInfo.getDataSize()) .setFileEncryptionInfo(keyInfo.getFileEncryptionInfo()) .build(); - keyTable.put(objectKey, newObj); + metadataManager.getKeyTable().put(objectKey, newObj); } catch (IOException ex) { if (!(ex instanceof OMException)) { LOG.error("Add acl operation failed for key:{}/{}/{}", volume, @@ -1475,16 +1468,8 @@ public boolean removeAcl(OzoneObj obj, OzoneAcl acl) throws IOException { validateBucket(volume, bucket); String objectKey = metadataManager.getOzoneKey(volume, bucket, keyName); OmKeyInfo keyInfo = metadataManager.getKeyTable().get(objectKey); - Table keyTable; if (keyInfo == null) { - keyInfo = metadataManager.getOpenKeyTable().get(objectKey); - if (keyInfo == null) { - throw new OMException("Key not found. Key:" + - objectKey, KEY_NOT_FOUND); - } - keyTable = metadataManager.getOpenKeyTable(); - } else { - keyTable = metadataManager.getKeyTable(); + throw new OMException("Key not found. Key:" + objectKey, KEY_NOT_FOUND); } List newAcls = new ArrayList<>(keyInfo.getAcls()); @@ -1529,7 +1514,7 @@ public boolean removeAcl(OzoneObj obj, OzoneAcl acl) throws IOException { .setFileEncryptionInfo(keyInfo.getFileEncryptionInfo()) .build(); - keyTable.put(objectKey, newObj); + metadataManager.getKeyTable().put(objectKey, newObj); } catch (IOException ex) { if (!(ex instanceof OMException)) { LOG.error("Remove acl operation failed for key:{}/{}/{}", volume, @@ -1562,16 +1547,8 @@ public boolean setAcl(OzoneObj obj, List acls) throws IOException { validateBucket(volume, bucket); String objectKey = metadataManager.getOzoneKey(volume, bucket, keyName); OmKeyInfo keyInfo = metadataManager.getKeyTable().get(objectKey); - Table keyTable; if (keyInfo == null) { - keyInfo = metadataManager.getOpenKeyTable().get(objectKey); - if (keyInfo == null) { - throw new OMException("Key not found. Key:" + - objectKey, KEY_NOT_FOUND); - } - keyTable = metadataManager.getOpenKeyTable(); - } else { - keyTable = metadataManager.getKeyTable(); + throw new OMException("Key not found. Key:" + objectKey, KEY_NOT_FOUND); } List newAcls = new ArrayList<>(); @@ -1592,7 +1569,7 @@ public boolean setAcl(OzoneObj obj, List acls) throws IOException { .setFileEncryptionInfo(keyInfo.getFileEncryptionInfo()) .build(); - keyTable.put(objectKey, newObj); + metadataManager.getKeyTable().put(objectKey, newObj); } catch (IOException ex) { if (!(ex instanceof OMException)) { LOG.error("Set acl operation failed for key:{}/{}/{}", volume, @@ -1624,11 +1601,7 @@ public List getAcl(OzoneObj obj) throws IOException { String objectKey = metadataManager.getOzoneKey(volume, bucket, keyName); OmKeyInfo keyInfo = metadataManager.getKeyTable().get(objectKey); if (keyInfo == null) { - keyInfo = metadataManager.getOpenKeyTable().get(objectKey); - if (keyInfo == null) { - throw new OMException("Key not found. Key:" + - objectKey, KEY_NOT_FOUND); - } + throw new OMException("Key not found. Key:" + objectKey, KEY_NOT_FOUND); } List acls = new ArrayList<>();