From db2cf91e864604ce559df127eb0436c57be594ed Mon Sep 17 00:00:00 2001 From: Xiaoyu Yao Date: Wed, 7 Aug 2019 12:46:07 -0700 Subject: [PATCH] use acl op response result to decide metadata update. --- .../response/volume/OMVolumeAclOpResponse.java | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/volume/OMVolumeAclOpResponse.java b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/volume/OMVolumeAclOpResponse.java index 8b5bc72c1565d..4c6db890df7fc 100644 --- a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/volume/OMVolumeAclOpResponse.java +++ b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/volume/OMVolumeAclOpResponse.java @@ -47,11 +47,17 @@ public void addToDBBatch(OMMetadataManager omMetadataManager, // For OmResponse with failure, this should do nothing. This method is // not called in failure scenario in OM code. - if (getOMResponse().getStatus() == OzoneManagerProtocolProtos.Status.OK && - getOMResponse().getSuccess()) { - omMetadataManager.getVolumeTable().putWithBatch(batchOperation, - omMetadataManager.getVolumeKey(omVolumeArgs.getVolume()), - omVolumeArgs); + if (getOMResponse().getSuccess()) { + if ((getOMResponse().hasAddAclResponse() && + getOMResponse().getAddAclResponse().getResponse()) || + (getOMResponse().hasRemoveAclResponse() && + getOMResponse().getRemoveAclResponse().getResponse()) || + (getOMResponse().hasSetAclResponse() && + getOMResponse().getSetAclResponse().getResponse())) { + omMetadataManager.getVolumeTable().putWithBatch(batchOperation, + omMetadataManager.getVolumeKey(omVolumeArgs.getVolume()), + omVolumeArgs); + } } } @@ -59,6 +65,5 @@ public void addToDBBatch(OMMetadataManager omMetadataManager, public OmVolumeArgs getOmVolumeArgs() { return omVolumeArgs; } - }