[jira] [Work logged] (HDDS-1619) Support volume addACL operations for OM HA.
[ https://issues.apache.org/jira/browse/HDDS-1619?focusedWorklogId=286067=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-286067 ] ASF GitHub Bot logged work on HDDS-1619: Author: ASF GitHub Bot Created on: 31/Jul/19 17:03 Start Date: 31/Jul/19 17:03 Worklog Time Spent: 10m Work Description: bharatviswa504 commented on issue #1147: HDDS-1619. Support volume addACL operations for OM HA. Contributed by… URL: https://github.com/apache/hadoop/pull/1147#issuecomment-516935599 To handle Non-HA also with new HA code, we have done some changes in HDDS-1856. So, this Jira needs a few more changes like adding to double-buffer and setFlushFuture in validateAndUpdateCache. This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org Issue Time Tracking --- Worklog Id: (was: 286067) Time Spent: 4.5h (was: 4h 20m) > Support volume addACL operations for OM HA. > --- > > Key: HDDS-1619 > URL: https://issues.apache.org/jira/browse/HDDS-1619 > Project: Hadoop Distributed Data Store > Issue Type: Sub-task >Reporter: Ajay Kumar >Assignee: Xiaoyu Yao >Priority: Major > Labels: pull-request-available > Time Spent: 4.5h > Remaining Estimate: 0h > > [HDDS-1539] adds 4 new api for Ozone rpc client. OM HA implementation needs > to handle them. -- This message was sent by Atlassian JIRA (v7.6.14#76016) - To unsubscribe, e-mail: hdfs-issues-unsubscr...@hadoop.apache.org For additional commands, e-mail: hdfs-issues-h...@hadoop.apache.org
[jira] [Work logged] (HDDS-1619) Support volume addACL operations for OM HA.
[ https://issues.apache.org/jira/browse/HDDS-1619?focusedWorklogId=285375=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-285375 ] ASF GitHub Bot logged work on HDDS-1619: Author: ASF GitHub Bot Created on: 31/Jul/19 00:35 Start Date: 31/Jul/19 00:35 Worklog Time Spent: 10m Work Description: hadoop-yetus commented on issue #1147: HDDS-1619. Support volume addACL operations for OM HA. Contributed by… URL: https://github.com/apache/hadoop/pull/1147#issuecomment-516646998 :broken_heart: **-1 overall** | Vote | Subsystem | Runtime | Comment | |::|--:|:|:| | 0 | reexec | 47 | Docker mode activated. | ||| _ Prechecks _ | | +1 | dupname | 0 | No case conflicting files found. | | +1 | @author | 0 | The patch does not contain any @author tags. | | +1 | test4tests | 0 | The patch appears to include 2 new or modified test files. | ||| _ trunk Compile Tests _ | | +1 | mvninstall | 609 | trunk passed | | +1 | compile | 351 | trunk passed | | +1 | checkstyle | 63 | trunk passed | | +1 | mvnsite | 0 | trunk passed | | +1 | shadedclient | 799 | branch has no errors when building and testing our client artifacts. | | +1 | javadoc | 149 | trunk passed | | 0 | spotbugs | 418 | Used deprecated FindBugs config; considering switching to SpotBugs. | | +1 | findbugs | 614 | trunk passed | ||| _ Patch Compile Tests _ | | +1 | mvninstall | 535 | the patch passed | | +1 | compile | 353 | the patch passed | | +1 | javac | 353 | the patch passed | | +1 | checkstyle | 69 | the patch passed | | +1 | mvnsite | 0 | the patch passed | | +1 | whitespace | 0 | The patch has no whitespace issues. | | +1 | shadedclient | 646 | patch has no errors when building and testing our client artifacts. | | +1 | javadoc | 161 | the patch passed | | +1 | findbugs | 677 | the patch passed | ||| _ Other Tests _ | | -1 | unit | 286 | hadoop-hdds in the patch failed. | | -1 | unit | 2603 | hadoop-ozone in the patch failed. | | +1 | asflicense | 42 | The patch does not generate ASF License warnings. | | | | 8165 | | | Reason | Tests | |---:|:--| | Failed junit tests | hadoop.ozone.client.rpc.TestReadRetries | | | hadoop.ozone.client.rpc.TestOzoneRpcClientWithRatis | | | hadoop.ozone.TestMiniChaosOzoneCluster | | | hadoop.ozone.om.TestScmSafeMode | | | hadoop.ozone.client.rpc.TestOzoneAtRestEncryption | | | hadoop.hdds.scm.pipeline.TestSCMPipelineManager | | | hadoop.ozone.om.TestOzoneManagerHA | | | hadoop.ozone.client.rpc.TestMultiBlockWritesWithDnFailures | | Subsystem | Report/Notes | |--:|:-| | Docker | Client=19.03.1 Server=19.03.1 base: https://builds.apache.org/job/hadoop-multibranch/job/PR-1147/4/artifact/out/Dockerfile | | GITHUB PR | https://github.com/apache/hadoop/pull/1147 | | Optional Tests | dupname asflicense compile javac javadoc mvninstall mvnsite unit shadedclient findbugs checkstyle | | uname | Linux ae40e9d71f97 4.4.0-138-generic #164-Ubuntu SMP Tue Oct 2 17:16:02 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux | | Build tool | maven | | Personality | personality/hadoop.sh | | git revision | trunk / 7849bdc | | Default Java | 1.8.0_212 | | unit | https://builds.apache.org/job/hadoop-multibranch/job/PR-1147/4/artifact/out/patch-unit-hadoop-hdds.txt | | unit | https://builds.apache.org/job/hadoop-multibranch/job/PR-1147/4/artifact/out/patch-unit-hadoop-ozone.txt | | Test Results | https://builds.apache.org/job/hadoop-multibranch/job/PR-1147/4/testReport/ | | Max. process+thread count | 3852 (vs. ulimit of 5500) | | modules | C: hadoop-ozone/ozone-manager U: hadoop-ozone/ozone-manager | | Console output | https://builds.apache.org/job/hadoop-multibranch/job/PR-1147/4/console | | versions | git=2.7.4 maven=3.3.9 findbugs=3.1.0-RC1 | | Powered by | Apache Yetus 0.10.0 http://yetus.apache.org | This message was automatically generated. This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org Issue Time Tracking --- Worklog Id: (was: 285375) Time Spent: 4h 20m (was: 4h 10m) > Support volume addACL operations for OM HA. > --- > > Key: HDDS-1619 > URL: https://issues.apache.org/jira/browse/HDDS-1619 > Project: Hadoop Distributed Data Store > Issue Type: Sub-task >Reporter: Ajay Kumar >Assignee: Xiaoyu
[jira] [Work logged] (HDDS-1619) Support volume addACL operations for OM HA.
[ https://issues.apache.org/jira/browse/HDDS-1619?focusedWorklogId=284654=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-284654 ] ASF GitHub Bot logged work on HDDS-1619: Author: ASF GitHub Bot Created on: 30/Jul/19 02:08 Start Date: 30/Jul/19 02:08 Worklog Time Spent: 10m Work Description: hadoop-yetus commented on issue #1147: HDDS-1619. Support volume addACL operations for OM HA. Contributed by… URL: https://github.com/apache/hadoop/pull/1147#issuecomment-516230139 :broken_heart: **-1 overall** | Vote | Subsystem | Runtime | Comment | |::|--:|:|:| | 0 | reexec | 126 | Docker mode activated. | ||| _ Prechecks _ | | +1 | dupname | 0 | No case conflicting files found. | | +1 | @author | 0 | The patch does not contain any @author tags. | | +1 | test4tests | 0 | The patch appears to include 2 new or modified test files. | ||| _ trunk Compile Tests _ | | +1 | mvninstall | 775 | trunk passed | | +1 | compile | 418 | trunk passed | | +1 | checkstyle | 86 | trunk passed | | +1 | mvnsite | 0 | trunk passed | | +1 | shadedclient | 928 | branch has no errors when building and testing our client artifacts. | | +1 | javadoc | 169 | trunk passed | | 0 | spotbugs | 441 | Used deprecated FindBugs config; considering switching to SpotBugs. | | +1 | findbugs | 643 | trunk passed | ||| _ Patch Compile Tests _ | | +1 | mvninstall | 573 | the patch passed | | +1 | compile | 366 | the patch passed | | +1 | javac | 366 | the patch passed | | -0 | checkstyle | 38 | hadoop-ozone: The patch generated 1 new + 0 unchanged - 0 fixed = 1 total (was 0) | | +1 | mvnsite | 0 | the patch passed | | +1 | whitespace | 0 | The patch has no whitespace issues. | | +1 | shadedclient | 803 | patch has no errors when building and testing our client artifacts. | | +1 | javadoc | 203 | the patch passed | | +1 | findbugs | 770 | the patch passed | ||| _ Other Tests _ | | -1 | unit | 386 | hadoop-hdds in the patch failed. | | -1 | unit | 2017 | hadoop-ozone in the patch failed. | | +1 | asflicense | 56 | The patch does not generate ASF License warnings. | | | | 8571 | | | Reason | Tests | |---:|:--| | Failed junit tests | hadoop.ozone.client.rpc.TestMultiBlockWritesWithDnFailures | | | hadoop.ozone.om.TestOzoneManagerHA | | | hadoop.ozone.client.rpc.Test2WayCommitInRatis | | | hadoop.ozone.client.rpc.TestOzoneRpcClient | | | hadoop.ozone.client.rpc.TestOzoneRpcClientWithRatis | | | hadoop.ozone.client.rpc.TestOzoneClientRetriesOnException | | | hadoop.ozone.client.rpc.TestSecureOzoneRpcClient | | | hadoop.ozone.om.TestScmSafeMode | | | hadoop.ozone.client.rpc.TestBlockOutputStreamWithFailures | | | hadoop.hdds.scm.pipeline.TestRatisPipelineProvider | | | hadoop.hdds.scm.pipeline.TestRatisPipelineCreateAndDestory | | Subsystem | Report/Notes | |--:|:-| | Docker | Client=19.03.1 Server=19.03.1 base: https://builds.apache.org/job/hadoop-multibranch/job/PR-1147/2/artifact/out/Dockerfile | | GITHUB PR | https://github.com/apache/hadoop/pull/1147 | | Optional Tests | dupname asflicense compile javac javadoc mvninstall mvnsite unit shadedclient findbugs checkstyle | | uname | Linux 2c8c0b8a3040 4.15.0-48-generic #51-Ubuntu SMP Wed Apr 3 08:28:49 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux | | Build tool | maven | | Personality | personality/hadoop.sh | | git revision | trunk / 68f9f2d | | Default Java | 1.8.0_212 | | checkstyle | https://builds.apache.org/job/hadoop-multibranch/job/PR-1147/2/artifact/out/diff-checkstyle-hadoop-ozone.txt | | unit | https://builds.apache.org/job/hadoop-multibranch/job/PR-1147/2/artifact/out/patch-unit-hadoop-hdds.txt | | unit | https://builds.apache.org/job/hadoop-multibranch/job/PR-1147/2/artifact/out/patch-unit-hadoop-ozone.txt | | Test Results | https://builds.apache.org/job/hadoop-multibranch/job/PR-1147/2/testReport/ | | Max. process+thread count | 4125 (vs. ulimit of 5500) | | modules | C: hadoop-ozone/ozone-manager U: hadoop-ozone/ozone-manager | | Console output | https://builds.apache.org/job/hadoop-multibranch/job/PR-1147/2/console | | versions | git=2.7.4 maven=3.3.9 findbugs=3.1.0-RC1 | | Powered by | Apache Yetus 0.10.0 http://yetus.apache.org | This message was automatically generated. This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org Issue Time Tracking ---
[jira] [Work logged] (HDDS-1619) Support volume addACL operations for OM HA.
[ https://issues.apache.org/jira/browse/HDDS-1619?focusedWorklogId=284653=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-284653 ] ASF GitHub Bot logged work on HDDS-1619: Author: ASF GitHub Bot Created on: 30/Jul/19 02:03 Start Date: 30/Jul/19 02:03 Worklog Time Spent: 10m Work Description: hadoop-yetus commented on issue #1147: HDDS-1619. Support volume addACL operations for OM HA. Contributed by… URL: https://github.com/apache/hadoop/pull/1147#issuecomment-516229239 :broken_heart: **-1 overall** | Vote | Subsystem | Runtime | Comment | |::|--:|:|:| | 0 | reexec | 522 | Docker mode activated. | ||| _ Prechecks _ | | +1 | dupname | 0 | No case conflicting files found. | | +1 | @author | 0 | The patch does not contain any @author tags. | | +1 | test4tests | 0 | The patch appears to include 2 new or modified test files. | ||| _ trunk Compile Tests _ | | +1 | mvninstall | 660 | trunk passed | | +1 | compile | 406 | trunk passed | | +1 | checkstyle | 66 | trunk passed | | +1 | mvnsite | 0 | trunk passed | | +1 | shadedclient | 848 | branch has no errors when building and testing our client artifacts. | | +1 | javadoc | 155 | trunk passed | | 0 | spotbugs | 461 | Used deprecated FindBugs config; considering switching to SpotBugs. | | +1 | findbugs | 682 | trunk passed | ||| _ Patch Compile Tests _ | | +1 | mvninstall | 575 | the patch passed | | +1 | compile | 380 | the patch passed | | +1 | javac | 380 | the patch passed | | -0 | checkstyle | 35 | hadoop-ozone: The patch generated 1 new + 0 unchanged - 0 fixed = 1 total (was 0) | | +1 | mvnsite | 0 | the patch passed | | +1 | whitespace | 0 | The patch has no whitespace issues. | | +1 | shadedclient | 680 | patch has no errors when building and testing our client artifacts. | | +1 | javadoc | 158 | the patch passed | | +1 | findbugs | 679 | the patch passed | ||| _ Other Tests _ | | -1 | unit | 293 | hadoop-hdds in the patch failed. | | -1 | unit | 1821 | hadoop-ozone in the patch failed. | | +1 | asflicense | 51 | The patch does not generate ASF License warnings. | | | | 8196 | | | Reason | Tests | |---:|:--| | Failed junit tests | hadoop.ozone.client.rpc.TestMultiBlockWritesWithDnFailures | | | hadoop.ozone.om.TestScmSafeMode | | | hadoop.ozone.client.rpc.TestSecureOzoneRpcClient | | | hadoop.ozone.client.rpc.TestOzoneRpcClient | | | hadoop.ozone.client.rpc.TestOzoneRpcClientWithRatis | | | hadoop.ozone.client.rpc.TestBlockOutputStreamWithFailures | | | hadoop.ozone.client.rpc.TestOzoneAtRestEncryption | | Subsystem | Report/Notes | |--:|:-| | Docker | Client=19.03.1 Server=19.03.1 base: https://builds.apache.org/job/hadoop-multibranch/job/PR-1147/3/artifact/out/Dockerfile | | GITHUB PR | https://github.com/apache/hadoop/pull/1147 | | Optional Tests | dupname asflicense compile javac javadoc mvninstall mvnsite unit shadedclient findbugs checkstyle | | uname | Linux adb770c5f444 4.4.0-139-generic #165-Ubuntu SMP Wed Oct 24 10:58:50 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux | | Build tool | maven | | Personality | personality/hadoop.sh | | git revision | trunk / 68f9f2d | | Default Java | 1.8.0_212 | | checkstyle | https://builds.apache.org/job/hadoop-multibranch/job/PR-1147/3/artifact/out/diff-checkstyle-hadoop-ozone.txt | | unit | https://builds.apache.org/job/hadoop-multibranch/job/PR-1147/3/artifact/out/patch-unit-hadoop-hdds.txt | | unit | https://builds.apache.org/job/hadoop-multibranch/job/PR-1147/3/artifact/out/patch-unit-hadoop-ozone.txt | | Test Results | https://builds.apache.org/job/hadoop-multibranch/job/PR-1147/3/testReport/ | | Max. process+thread count | 4495 (vs. ulimit of 5500) | | modules | C: hadoop-ozone/ozone-manager U: hadoop-ozone/ozone-manager | | Console output | https://builds.apache.org/job/hadoop-multibranch/job/PR-1147/3/console | | versions | git=2.7.4 maven=3.3.9 findbugs=3.1.0-RC1 | | Powered by | Apache Yetus 0.10.0 http://yetus.apache.org | This message was automatically generated. This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org Issue Time Tracking --- Worklog Id: (was: 284653) Time Spent: 4h (was: 3h 50m) > Support volume addACL operations for OM HA. > --- > > Key: HDDS-1619 > URL:
[jira] [Work logged] (HDDS-1619) Support volume addACL operations for OM HA.
[ https://issues.apache.org/jira/browse/HDDS-1619?focusedWorklogId=284597=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-284597 ] ASF GitHub Bot logged work on HDDS-1619: Author: ASF GitHub Bot Created on: 29/Jul/19 22:50 Start Date: 29/Jul/19 22:50 Worklog Time Spent: 10m Work Description: xiaoyuyao commented on pull request #1147: HDDS-1619. Support volume addACL operations for OM HA. Contributed by… URL: https://github.com/apache/hadoop/pull/1147#discussion_r308469692 ## File path: hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/volume/acl/OMVolumeAddAclRequest.java ## @@ -0,0 +1,126 @@ +/** + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.hadoop.ozone.om.request.volume.acl; + +import com.google.common.base.Optional; +import com.google.common.base.Preconditions; +import org.apache.hadoop.ozone.OzoneAcl; +import org.apache.hadoop.ozone.om.OMMetadataManager; +import org.apache.hadoop.ozone.om.OMMetrics; +import org.apache.hadoop.ozone.om.OzoneManager; +import org.apache.hadoop.ozone.om.exceptions.OMException; +import org.apache.hadoop.ozone.om.helpers.OmVolumeArgs; +import org.apache.hadoop.ozone.om.request.OMClientRequest; +import org.apache.hadoop.ozone.om.response.OMClientResponse; +import org.apache.hadoop.ozone.om.response.volume.OMVolumeAddAclResponse; +import org.apache.hadoop.ozone.protocol.proto.OzoneManagerProtocolProtos; +import org.apache.hadoop.ozone.protocol.proto.OzoneManagerProtocolProtos.AddAclRequest; +import org.apache.hadoop.ozone.protocol.proto.OzoneManagerProtocolProtos.AddAclResponse; +import org.apache.hadoop.ozone.protocol.proto.OzoneManagerProtocolProtos.OMRequest; +import org.apache.hadoop.ozone.protocol.proto.OzoneManagerProtocolProtos.OMResponse; +import org.apache.hadoop.ozone.protocol.proto.OzoneManagerProtocolProtos.Status; + +import org.apache.hadoop.ozone.security.acl.IAccessAuthorizer; +import org.apache.hadoop.ozone.security.acl.OzoneObj; +import org.apache.hadoop.ozone.security.acl.OzoneObjInfo; +import org.apache.hadoop.utils.db.cache.CacheKey; +import org.apache.hadoop.utils.db.cache.CacheValue; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import java.io.IOException; + +import static org.apache.hadoop.ozone.om.lock.OzoneManagerLock.Resource.VOLUME_LOCK; + +/** + * Handles add acl request. + */ +public class OMVolumeAddAclRequest extends OMClientRequest { + private static final Logger LOG = + LoggerFactory.getLogger(OMVolumeAddAclRequest.class); + + public OMVolumeAddAclRequest(OMRequest omRequest) { +super(omRequest); + } + + @Override + public OMClientResponse validateAndUpdateCache(OzoneManager ozoneManager, + long transactionLogIndex) { +AddAclRequest addAclRequest = getOmRequest().getAddAclRequest(); +Preconditions.checkNotNull(addAclRequest); + +OMResponse.Builder omResponse = OMResponse.newBuilder().setCmdType( +OzoneManagerProtocolProtos.Type.AddAcl).setStatus( +Status.OK).setSuccess(true); + +if (!addAclRequest.hasAcl()) { + omResponse.setStatus(Status.INVALID_REQUEST).setSuccess(false); + return new OMVolumeAddAclResponse(null, omResponse.build()); +} + +OzoneObjInfo ozoneObj = OzoneObjInfo.fromProtobuf(addAclRequest.getObj()); Review comment: I agree that the first protoc conversion can be avoided. But the second change from OzoneAclMap to OzoneAclInfo in OmVolumeArgs has many references. It is preferred to do this optimization in a separate JIRA. This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org Issue Time Tracking --- Worklog Id: (was: 284597) Time Spent: 3h 50m (was: 3h 40m) > Support volume addACL operations for OM HA. > --- > > Key:
[jira] [Work logged] (HDDS-1619) Support volume addACL operations for OM HA.
[ https://issues.apache.org/jira/browse/HDDS-1619?focusedWorklogId=284595=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-284595 ] ASF GitHub Bot logged work on HDDS-1619: Author: ASF GitHub Bot Created on: 29/Jul/19 22:42 Start Date: 29/Jul/19 22:42 Worklog Time Spent: 10m Work Description: xiaoyuyao commented on pull request #1147: HDDS-1619. Support volume addACL operations for OM HA. Contributed by… URL: https://github.com/apache/hadoop/pull/1147#discussion_r308467767 ## File path: hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/volume/acl/OMVolumeAddAclRequest.java ## @@ -0,0 +1,126 @@ +/** + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.hadoop.ozone.om.request.volume.acl; + +import com.google.common.base.Optional; +import com.google.common.base.Preconditions; +import org.apache.hadoop.ozone.OzoneAcl; +import org.apache.hadoop.ozone.om.OMMetadataManager; +import org.apache.hadoop.ozone.om.OMMetrics; +import org.apache.hadoop.ozone.om.OzoneManager; +import org.apache.hadoop.ozone.om.exceptions.OMException; +import org.apache.hadoop.ozone.om.helpers.OmVolumeArgs; +import org.apache.hadoop.ozone.om.request.OMClientRequest; +import org.apache.hadoop.ozone.om.response.OMClientResponse; +import org.apache.hadoop.ozone.om.response.volume.OMVolumeAddAclResponse; +import org.apache.hadoop.ozone.protocol.proto.OzoneManagerProtocolProtos; +import org.apache.hadoop.ozone.protocol.proto.OzoneManagerProtocolProtos.AddAclRequest; +import org.apache.hadoop.ozone.protocol.proto.OzoneManagerProtocolProtos.AddAclResponse; +import org.apache.hadoop.ozone.protocol.proto.OzoneManagerProtocolProtos.OMRequest; +import org.apache.hadoop.ozone.protocol.proto.OzoneManagerProtocolProtos.OMResponse; +import org.apache.hadoop.ozone.protocol.proto.OzoneManagerProtocolProtos.Status; + +import org.apache.hadoop.ozone.security.acl.IAccessAuthorizer; +import org.apache.hadoop.ozone.security.acl.OzoneObj; +import org.apache.hadoop.ozone.security.acl.OzoneObjInfo; +import org.apache.hadoop.utils.db.cache.CacheKey; +import org.apache.hadoop.utils.db.cache.CacheValue; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import java.io.IOException; + +import static org.apache.hadoop.ozone.om.lock.OzoneManagerLock.Resource.VOLUME_LOCK; + +/** + * Handles add acl request. + */ +public class OMVolumeAddAclRequest extends OMClientRequest { + private static final Logger LOG = + LoggerFactory.getLogger(OMVolumeAddAclRequest.class); + + public OMVolumeAddAclRequest(OMRequest omRequest) { +super(omRequest); + } + + @Override + public OMClientResponse validateAndUpdateCache(OzoneManager ozoneManager, + long transactionLogIndex) { +AddAclRequest addAclRequest = getOmRequest().getAddAclRequest(); +Preconditions.checkNotNull(addAclRequest); + +OMResponse.Builder omResponse = OMResponse.newBuilder().setCmdType( +OzoneManagerProtocolProtos.Type.AddAcl).setStatus( +Status.OK).setSuccess(true); + +if (!addAclRequest.hasAcl()) { + omResponse.setStatus(Status.INVALID_REQUEST).setSuccess(false); + return new OMVolumeAddAclResponse(null, omResponse.build()); +} + +OzoneObjInfo ozoneObj = OzoneObjInfo.fromProtobuf(addAclRequest.getObj()); +OzoneAcl ozoneAcl = OzoneAcl.fromProtobuf(addAclRequest.getAcl()); +String volume = ozoneObj.getVolumeName(); + +OMMetrics omMetrics = ozoneManager.getMetrics(); +omMetrics.incNumVolumeUpdates(); +IOException exception = null; +OmVolumeArgs omVolumeArgs = null; + +OMMetadataManager omMetadataManager = ozoneManager.getMetadataManager(); + +try { + // check Acl + if (ozoneManager.getAclsEnabled()) { +checkAcls(ozoneManager, OzoneObj.ResourceType.VOLUME, +OzoneObj.StoreType.OZONE, IAccessAuthorizer.ACLType.WRITE, volume, +null, null); + } + + omMetadataManager.getLock().acquireLock(VOLUME_LOCK, volume); + String dbVolumeKey = omMetadataManager.getVolumeKey(volume); + omVolumeArgs =
[jira] [Work logged] (HDDS-1619) Support volume addACL operations for OM HA.
[ https://issues.apache.org/jira/browse/HDDS-1619?focusedWorklogId=284589=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-284589 ] ASF GitHub Bot logged work on HDDS-1619: Author: ASF GitHub Bot Created on: 29/Jul/19 22:35 Start Date: 29/Jul/19 22:35 Worklog Time Spent: 10m Work Description: xiaoyuyao commented on pull request #1147: HDDS-1619. Support volume addACL operations for OM HA. Contributed by… URL: https://github.com/apache/hadoop/pull/1147#discussion_r308465968 ## File path: hadoop-ozone/ozone-manager/src/test/java/org/apache/hadoop/ozone/om/request/volume/TestOMVolumeAddAclRequest.java ## @@ -0,0 +1,165 @@ +/** + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.hadoop.ozone.om.request.volume; + +import org.apache.hadoop.hdds.conf.OzoneConfiguration; +import org.apache.hadoop.ozone.OzoneAcl; +import org.apache.hadoop.ozone.audit.AuditLogger; +import org.apache.hadoop.ozone.audit.AuditMessage; +import org.apache.hadoop.ozone.om.OMConfigKeys; +import org.apache.hadoop.ozone.om.OMMetadataManager; +import org.apache.hadoop.ozone.om.OMMetrics; +import org.apache.hadoop.ozone.om.OmMetadataManagerImpl; +import org.apache.hadoop.ozone.om.OzoneManager; +import org.apache.hadoop.ozone.om.helpers.OmOzoneAclMap; +import org.apache.hadoop.ozone.om.helpers.OmVolumeArgs; +import org.apache.hadoop.ozone.om.request.TestOMRequestUtils; +import org.apache.hadoop.ozone.om.request.volume.acl.OMVolumeAddAclRequest; +import org.apache.hadoop.ozone.om.response.OMClientResponse; +import org.apache.hadoop.ozone.protocol.proto.OzoneManagerProtocolProtos; +import org.apache.hadoop.ozone.protocol.proto.OzoneManagerProtocolProtos.OMRequest; +import org.apache.hadoop.ozone.protocol.proto.OzoneManagerProtocolProtos.OMResponse; + +import org.junit.After; +import org.junit.Assert; +import org.junit.Before; +import org.junit.Rule; +import org.junit.Test; +import org.junit.rules.TemporaryFolder; +import org.mockito.Mockito; + +import java.util.UUID; + +import static org.mockito.ArgumentMatchers.any; +import static org.mockito.Mockito.when; + +/** + * Tests volume addAcl request. + */ +public class TestOMVolumeAddAclRequest { + @Rule + public TemporaryFolder folder = new TemporaryFolder(); + + private OzoneManager ozoneManager; + private OMMetrics omMetrics; + private OMMetadataManager omMetadataManager; + private AuditLogger auditLogger; + Review comment: I like code reuse but not a big fan of inheritance based test cases as it is not straight forward to debug and validate. I will extract some test utils to simplify bucket/key acl tests. This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org Issue Time Tracking --- Worklog Id: (was: 284589) Time Spent: 3.5h (was: 3h 20m) > Support volume addACL operations for OM HA. > --- > > Key: HDDS-1619 > URL: https://issues.apache.org/jira/browse/HDDS-1619 > Project: Hadoop Distributed Data Store > Issue Type: Sub-task >Reporter: Ajay Kumar >Assignee: Xiaoyu Yao >Priority: Major > Labels: pull-request-available > Time Spent: 3.5h > Remaining Estimate: 0h > > [HDDS-1539] adds 4 new api for Ozone rpc client. OM HA implementation needs > to handle them. -- This message was sent by Atlassian JIRA (v7.6.14#76016) - To unsubscribe, e-mail: hdfs-issues-unsubscr...@hadoop.apache.org For additional commands, e-mail: hdfs-issues-h...@hadoop.apache.org
[jira] [Work logged] (HDDS-1619) Support volume addACL operations for OM HA.
[ https://issues.apache.org/jira/browse/HDDS-1619?focusedWorklogId=284587=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-284587 ] ASF GitHub Bot logged work on HDDS-1619: Author: ASF GitHub Bot Created on: 29/Jul/19 22:31 Start Date: 29/Jul/19 22:31 Worklog Time Spent: 10m Work Description: xiaoyuyao commented on pull request #1147: HDDS-1619. Support volume addACL operations for OM HA. Contributed by… URL: https://github.com/apache/hadoop/pull/1147#discussion_r308464671 ## File path: hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/protocolPB/OzoneManagerHARequestHandlerImpl.java ## @@ -70,6 +70,7 @@ public OMResponse handleApplyTransaction(OMRequest omRequest, case CreateS3Bucket: case DeleteS3Bucket: case InitiateMultiPartUpload: +case AddAcl: Review comment: Correct, the scope of this one is just to handle VolumeAddAcl, others will follow once the first one is added. This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org Issue Time Tracking --- Worklog Id: (was: 284587) Time Spent: 3h 20m (was: 3h 10m) > Support volume addACL operations for OM HA. > --- > > Key: HDDS-1619 > URL: https://issues.apache.org/jira/browse/HDDS-1619 > Project: Hadoop Distributed Data Store > Issue Type: Sub-task >Reporter: Ajay Kumar >Assignee: Xiaoyu Yao >Priority: Major > Labels: pull-request-available > Time Spent: 3h 20m > Remaining Estimate: 0h > > [HDDS-1539] adds 4 new api for Ozone rpc client. OM HA implementation needs > to handle them. -- This message was sent by Atlassian JIRA (v7.6.14#76016) - To unsubscribe, e-mail: hdfs-issues-unsubscr...@hadoop.apache.org For additional commands, e-mail: hdfs-issues-h...@hadoop.apache.org
[jira] [Work logged] (HDDS-1619) Support volume addACL operations for OM HA.
[ https://issues.apache.org/jira/browse/HDDS-1619?focusedWorklogId=284584=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-284584 ] ASF GitHub Bot logged work on HDDS-1619: Author: ASF GitHub Bot Created on: 29/Jul/19 22:28 Start Date: 29/Jul/19 22:28 Worklog Time Spent: 10m Work Description: xiaoyuyao commented on pull request #1147: HDDS-1619. Support volume addACL operations for OM HA. Contributed by… URL: https://github.com/apache/hadoop/pull/1147#discussion_r308463969 ## File path: hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/volume/acl/OMVolumeAddAclRequest.java ## @@ -0,0 +1,126 @@ +/** + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.hadoop.ozone.om.request.volume.acl; + +import com.google.common.base.Optional; +import com.google.common.base.Preconditions; +import org.apache.hadoop.ozone.OzoneAcl; +import org.apache.hadoop.ozone.om.OMMetadataManager; +import org.apache.hadoop.ozone.om.OMMetrics; +import org.apache.hadoop.ozone.om.OzoneManager; +import org.apache.hadoop.ozone.om.exceptions.OMException; +import org.apache.hadoop.ozone.om.helpers.OmVolumeArgs; +import org.apache.hadoop.ozone.om.request.OMClientRequest; +import org.apache.hadoop.ozone.om.response.OMClientResponse; +import org.apache.hadoop.ozone.om.response.volume.OMVolumeAddAclResponse; +import org.apache.hadoop.ozone.protocol.proto.OzoneManagerProtocolProtos; +import org.apache.hadoop.ozone.protocol.proto.OzoneManagerProtocolProtos.AddAclRequest; +import org.apache.hadoop.ozone.protocol.proto.OzoneManagerProtocolProtos.AddAclResponse; +import org.apache.hadoop.ozone.protocol.proto.OzoneManagerProtocolProtos.OMRequest; +import org.apache.hadoop.ozone.protocol.proto.OzoneManagerProtocolProtos.OMResponse; +import org.apache.hadoop.ozone.protocol.proto.OzoneManagerProtocolProtos.Status; + +import org.apache.hadoop.ozone.security.acl.IAccessAuthorizer; +import org.apache.hadoop.ozone.security.acl.OzoneObj; +import org.apache.hadoop.ozone.security.acl.OzoneObjInfo; +import org.apache.hadoop.utils.db.cache.CacheKey; +import org.apache.hadoop.utils.db.cache.CacheValue; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import java.io.IOException; + +import static org.apache.hadoop.ozone.om.lock.OzoneManagerLock.Resource.VOLUME_LOCK; + +/** + * Handles add acl request. + */ +public class OMVolumeAddAclRequest extends OMClientRequest { + private static final Logger LOG = + LoggerFactory.getLogger(OMVolumeAddAclRequest.class); + + public OMVolumeAddAclRequest(OMRequest omRequest) { +super(omRequest); + } + + @Override + public OMClientResponse validateAndUpdateCache(OzoneManager ozoneManager, + long transactionLogIndex) { +AddAclRequest addAclRequest = getOmRequest().getAddAclRequest(); +Preconditions.checkNotNull(addAclRequest); + +OMResponse.Builder omResponse = OMResponse.newBuilder().setCmdType( +OzoneManagerProtocolProtos.Type.AddAcl).setStatus( +Status.OK).setSuccess(true); + +if (!addAclRequest.hasAcl()) { + omResponse.setStatus(Status.INVALID_REQUEST).setSuccess(false); + return new OMVolumeAddAclResponse(null, omResponse.build()); +} + +OzoneObjInfo ozoneObj = OzoneObjInfo.fromProtobuf(addAclRequest.getObj()); +OzoneAcl ozoneAcl = OzoneAcl.fromProtobuf(addAclRequest.getAcl()); +String volume = ozoneObj.getVolumeName(); + +OMMetrics omMetrics = ozoneManager.getMetrics(); +omMetrics.incNumVolumeUpdates(); +IOException exception = null; +OmVolumeArgs omVolumeArgs = null; + +OMMetadataManager omMetadataManager = ozoneManager.getMetadataManager(); + +try { + // check Acl + if (ozoneManager.getAclsEnabled()) { +checkAcls(ozoneManager, OzoneObj.ResourceType.VOLUME, +OzoneObj.StoreType.OZONE, IAccessAuthorizer.ACLType.WRITE, volume, +null, null); + } + + omMetadataManager.getLock().acquireLock(VOLUME_LOCK, volume); + String dbVolumeKey = omMetadataManager.getVolumeKey(volume); + omVolumeArgs =
[jira] [Work logged] (HDDS-1619) Support volume addACL operations for OM HA.
[ https://issues.apache.org/jira/browse/HDDS-1619?focusedWorklogId=283118=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-283118 ] ASF GitHub Bot logged work on HDDS-1619: Author: ASF GitHub Bot Created on: 26/Jul/19 05:36 Start Date: 26/Jul/19 05:36 Worklog Time Spent: 10m Work Description: bharatviswa504 commented on pull request #1147: HDDS-1619. Support volume addACL operations for OM HA. Contributed by… URL: https://github.com/apache/hadoop/pull/1147#discussion_r307592917 ## File path: hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/volume/acl/OMVolumeAddAclRequest.java ## @@ -0,0 +1,126 @@ +/** + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.hadoop.ozone.om.request.volume.acl; + +import com.google.common.base.Optional; +import com.google.common.base.Preconditions; +import org.apache.hadoop.ozone.OzoneAcl; +import org.apache.hadoop.ozone.om.OMMetadataManager; +import org.apache.hadoop.ozone.om.OMMetrics; +import org.apache.hadoop.ozone.om.OzoneManager; +import org.apache.hadoop.ozone.om.exceptions.OMException; +import org.apache.hadoop.ozone.om.helpers.OmVolumeArgs; +import org.apache.hadoop.ozone.om.request.OMClientRequest; +import org.apache.hadoop.ozone.om.response.OMClientResponse; +import org.apache.hadoop.ozone.om.response.volume.OMVolumeAddAclResponse; +import org.apache.hadoop.ozone.protocol.proto.OzoneManagerProtocolProtos; +import org.apache.hadoop.ozone.protocol.proto.OzoneManagerProtocolProtos.AddAclRequest; +import org.apache.hadoop.ozone.protocol.proto.OzoneManagerProtocolProtos.AddAclResponse; +import org.apache.hadoop.ozone.protocol.proto.OzoneManagerProtocolProtos.OMRequest; +import org.apache.hadoop.ozone.protocol.proto.OzoneManagerProtocolProtos.OMResponse; +import org.apache.hadoop.ozone.protocol.proto.OzoneManagerProtocolProtos.Status; + +import org.apache.hadoop.ozone.security.acl.IAccessAuthorizer; +import org.apache.hadoop.ozone.security.acl.OzoneObj; +import org.apache.hadoop.ozone.security.acl.OzoneObjInfo; +import org.apache.hadoop.utils.db.cache.CacheKey; +import org.apache.hadoop.utils.db.cache.CacheValue; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import java.io.IOException; + +import static org.apache.hadoop.ozone.om.lock.OzoneManagerLock.Resource.VOLUME_LOCK; + +/** + * Handles add acl request. + */ +public class OMVolumeAddAclRequest extends OMClientRequest { + private static final Logger LOG = + LoggerFactory.getLogger(OMVolumeAddAclRequest.class); + + public OMVolumeAddAclRequest(OMRequest omRequest) { +super(omRequest); + } + + @Override + public OMClientResponse validateAndUpdateCache(OzoneManager ozoneManager, + long transactionLogIndex) { +AddAclRequest addAclRequest = getOmRequest().getAddAclRequest(); +Preconditions.checkNotNull(addAclRequest); + +OMResponse.Builder omResponse = OMResponse.newBuilder().setCmdType( +OzoneManagerProtocolProtos.Type.AddAcl).setStatus( +Status.OK).setSuccess(true); + +if (!addAclRequest.hasAcl()) { + omResponse.setStatus(Status.INVALID_REQUEST).setSuccess(false); + return new OMVolumeAddAclResponse(null, omResponse.build()); +} + +OzoneObjInfo ozoneObj = OzoneObjInfo.fromProtobuf(addAclRequest.getObj()); Review comment: ozoneObj is used to getVolumeName , we can directly getVolumeName from addAclRequest.getObj().getPath(), because we already checked if resType is Volume, then only we shall be in this place. In similar way, we can avoid conversion for OzoneAcl ozoneAcl = OzoneAcl.fromProtobuf(addAclRequest.getAcl()); If OmVolumeArgs can directly store `List`. In this way we can avoid protobuf conversion. This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org Issue Time Tracking ---
[jira] [Work logged] (HDDS-1619) Support volume addACL operations for OM HA.
[ https://issues.apache.org/jira/browse/HDDS-1619?focusedWorklogId=283117=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-283117 ] ASF GitHub Bot logged work on HDDS-1619: Author: ASF GitHub Bot Created on: 26/Jul/19 05:34 Start Date: 26/Jul/19 05:34 Worklog Time Spent: 10m Work Description: bharatviswa504 commented on pull request #1147: HDDS-1619. Support volume addACL operations for OM HA. Contributed by… URL: https://github.com/apache/hadoop/pull/1147#discussion_r307593872 ## File path: hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/volume/acl/OMVolumeAddAclRequest.java ## @@ -0,0 +1,126 @@ +/** + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.hadoop.ozone.om.request.volume.acl; + +import com.google.common.base.Optional; +import com.google.common.base.Preconditions; +import org.apache.hadoop.ozone.OzoneAcl; +import org.apache.hadoop.ozone.om.OMMetadataManager; +import org.apache.hadoop.ozone.om.OMMetrics; +import org.apache.hadoop.ozone.om.OzoneManager; +import org.apache.hadoop.ozone.om.exceptions.OMException; +import org.apache.hadoop.ozone.om.helpers.OmVolumeArgs; +import org.apache.hadoop.ozone.om.request.OMClientRequest; +import org.apache.hadoop.ozone.om.response.OMClientResponse; +import org.apache.hadoop.ozone.om.response.volume.OMVolumeAddAclResponse; +import org.apache.hadoop.ozone.protocol.proto.OzoneManagerProtocolProtos; +import org.apache.hadoop.ozone.protocol.proto.OzoneManagerProtocolProtos.AddAclRequest; +import org.apache.hadoop.ozone.protocol.proto.OzoneManagerProtocolProtos.AddAclResponse; +import org.apache.hadoop.ozone.protocol.proto.OzoneManagerProtocolProtos.OMRequest; +import org.apache.hadoop.ozone.protocol.proto.OzoneManagerProtocolProtos.OMResponse; +import org.apache.hadoop.ozone.protocol.proto.OzoneManagerProtocolProtos.Status; + +import org.apache.hadoop.ozone.security.acl.IAccessAuthorizer; +import org.apache.hadoop.ozone.security.acl.OzoneObj; +import org.apache.hadoop.ozone.security.acl.OzoneObjInfo; +import org.apache.hadoop.utils.db.cache.CacheKey; +import org.apache.hadoop.utils.db.cache.CacheValue; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import java.io.IOException; + +import static org.apache.hadoop.ozone.om.lock.OzoneManagerLock.Resource.VOLUME_LOCK; + +/** + * Handles add acl request. + */ +public class OMVolumeAddAclRequest extends OMClientRequest { + private static final Logger LOG = + LoggerFactory.getLogger(OMVolumeAddAclRequest.class); + + public OMVolumeAddAclRequest(OMRequest omRequest) { +super(omRequest); + } + + @Override + public OMClientResponse validateAndUpdateCache(OzoneManager ozoneManager, + long transactionLogIndex) { +AddAclRequest addAclRequest = getOmRequest().getAddAclRequest(); +Preconditions.checkNotNull(addAclRequest); + +OMResponse.Builder omResponse = OMResponse.newBuilder().setCmdType( +OzoneManagerProtocolProtos.Type.AddAcl).setStatus( +Status.OK).setSuccess(true); + +if (!addAclRequest.hasAcl()) { + omResponse.setStatus(Status.INVALID_REQUEST).setSuccess(false); + return new OMVolumeAddAclResponse(null, omResponse.build()); +} + +OzoneObjInfo ozoneObj = OzoneObjInfo.fromProtobuf(addAclRequest.getObj()); +OzoneAcl ozoneAcl = OzoneAcl.fromProtobuf(addAclRequest.getAcl()); +String volume = ozoneObj.getVolumeName(); + +OMMetrics omMetrics = ozoneManager.getMetrics(); +omMetrics.incNumVolumeUpdates(); +IOException exception = null; +OmVolumeArgs omVolumeArgs = null; + +OMMetadataManager omMetadataManager = ozoneManager.getMetadataManager(); + +try { + // check Acl + if (ozoneManager.getAclsEnabled()) { Review comment: Got it. This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at:
[jira] [Work logged] (HDDS-1619) Support volume addACL operations for OM HA.
[ https://issues.apache.org/jira/browse/HDDS-1619?focusedWorklogId=283111=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-283111 ] ASF GitHub Bot logged work on HDDS-1619: Author: ASF GitHub Bot Created on: 26/Jul/19 05:28 Start Date: 26/Jul/19 05:28 Worklog Time Spent: 10m Work Description: bharatviswa504 commented on pull request #1147: HDDS-1619. Support volume addACL operations for OM HA. Contributed by… URL: https://github.com/apache/hadoop/pull/1147#discussion_r307592917 ## File path: hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/volume/acl/OMVolumeAddAclRequest.java ## @@ -0,0 +1,126 @@ +/** + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.hadoop.ozone.om.request.volume.acl; + +import com.google.common.base.Optional; +import com.google.common.base.Preconditions; +import org.apache.hadoop.ozone.OzoneAcl; +import org.apache.hadoop.ozone.om.OMMetadataManager; +import org.apache.hadoop.ozone.om.OMMetrics; +import org.apache.hadoop.ozone.om.OzoneManager; +import org.apache.hadoop.ozone.om.exceptions.OMException; +import org.apache.hadoop.ozone.om.helpers.OmVolumeArgs; +import org.apache.hadoop.ozone.om.request.OMClientRequest; +import org.apache.hadoop.ozone.om.response.OMClientResponse; +import org.apache.hadoop.ozone.om.response.volume.OMVolumeAddAclResponse; +import org.apache.hadoop.ozone.protocol.proto.OzoneManagerProtocolProtos; +import org.apache.hadoop.ozone.protocol.proto.OzoneManagerProtocolProtos.AddAclRequest; +import org.apache.hadoop.ozone.protocol.proto.OzoneManagerProtocolProtos.AddAclResponse; +import org.apache.hadoop.ozone.protocol.proto.OzoneManagerProtocolProtos.OMRequest; +import org.apache.hadoop.ozone.protocol.proto.OzoneManagerProtocolProtos.OMResponse; +import org.apache.hadoop.ozone.protocol.proto.OzoneManagerProtocolProtos.Status; + +import org.apache.hadoop.ozone.security.acl.IAccessAuthorizer; +import org.apache.hadoop.ozone.security.acl.OzoneObj; +import org.apache.hadoop.ozone.security.acl.OzoneObjInfo; +import org.apache.hadoop.utils.db.cache.CacheKey; +import org.apache.hadoop.utils.db.cache.CacheValue; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import java.io.IOException; + +import static org.apache.hadoop.ozone.om.lock.OzoneManagerLock.Resource.VOLUME_LOCK; + +/** + * Handles add acl request. + */ +public class OMVolumeAddAclRequest extends OMClientRequest { + private static final Logger LOG = + LoggerFactory.getLogger(OMVolumeAddAclRequest.class); + + public OMVolumeAddAclRequest(OMRequest omRequest) { +super(omRequest); + } + + @Override + public OMClientResponse validateAndUpdateCache(OzoneManager ozoneManager, + long transactionLogIndex) { +AddAclRequest addAclRequest = getOmRequest().getAddAclRequest(); +Preconditions.checkNotNull(addAclRequest); + +OMResponse.Builder omResponse = OMResponse.newBuilder().setCmdType( +OzoneManagerProtocolProtos.Type.AddAcl).setStatus( +Status.OK).setSuccess(true); + +if (!addAclRequest.hasAcl()) { + omResponse.setStatus(Status.INVALID_REQUEST).setSuccess(false); + return new OMVolumeAddAclResponse(null, omResponse.build()); +} + +OzoneObjInfo ozoneObj = OzoneObjInfo.fromProtobuf(addAclRequest.getObj()); Review comment: ozoneObj is used to getVolumeName , we can directly getVolumeName from addAclRequest.getObj().getPath(), because we already checked if resType is Volume, then only we shall be in this place. In similar way, we can avoid conversion for OzoneAcl ozoneAcl = OzoneAcl.fromProtobuf(addAclRequest.getAcl()); If OmVolumeArgs can directly store List. In this way we can avoid protobuf conversion. This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org Issue Time Tracking ---
[jira] [Work logged] (HDDS-1619) Support volume addACL operations for OM HA.
[ https://issues.apache.org/jira/browse/HDDS-1619?focusedWorklogId=283104=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-283104 ] ASF GitHub Bot logged work on HDDS-1619: Author: ASF GitHub Bot Created on: 26/Jul/19 05:03 Start Date: 26/Jul/19 05:03 Worklog Time Spent: 10m Work Description: xiaoyuyao commented on pull request #1147: HDDS-1619. Support volume addACL operations for OM HA. Contributed by… URL: https://github.com/apache/hadoop/pull/1147#discussion_r307589215 ## File path: hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/volume/acl/OMVolumeAddAclRequest.java ## @@ -0,0 +1,126 @@ +/** + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.hadoop.ozone.om.request.volume.acl; + +import com.google.common.base.Optional; +import com.google.common.base.Preconditions; +import org.apache.hadoop.ozone.OzoneAcl; +import org.apache.hadoop.ozone.om.OMMetadataManager; +import org.apache.hadoop.ozone.om.OMMetrics; +import org.apache.hadoop.ozone.om.OzoneManager; +import org.apache.hadoop.ozone.om.exceptions.OMException; +import org.apache.hadoop.ozone.om.helpers.OmVolumeArgs; +import org.apache.hadoop.ozone.om.request.OMClientRequest; +import org.apache.hadoop.ozone.om.response.OMClientResponse; +import org.apache.hadoop.ozone.om.response.volume.OMVolumeAddAclResponse; +import org.apache.hadoop.ozone.protocol.proto.OzoneManagerProtocolProtos; +import org.apache.hadoop.ozone.protocol.proto.OzoneManagerProtocolProtos.AddAclRequest; +import org.apache.hadoop.ozone.protocol.proto.OzoneManagerProtocolProtos.AddAclResponse; +import org.apache.hadoop.ozone.protocol.proto.OzoneManagerProtocolProtos.OMRequest; +import org.apache.hadoop.ozone.protocol.proto.OzoneManagerProtocolProtos.OMResponse; +import org.apache.hadoop.ozone.protocol.proto.OzoneManagerProtocolProtos.Status; + +import org.apache.hadoop.ozone.security.acl.IAccessAuthorizer; +import org.apache.hadoop.ozone.security.acl.OzoneObj; +import org.apache.hadoop.ozone.security.acl.OzoneObjInfo; +import org.apache.hadoop.utils.db.cache.CacheKey; +import org.apache.hadoop.utils.db.cache.CacheValue; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import java.io.IOException; + +import static org.apache.hadoop.ozone.om.lock.OzoneManagerLock.Resource.VOLUME_LOCK; + +/** + * Handles add acl request. + */ +public class OMVolumeAddAclRequest extends OMClientRequest { + private static final Logger LOG = + LoggerFactory.getLogger(OMVolumeAddAclRequest.class); + + public OMVolumeAddAclRequest(OMRequest omRequest) { +super(omRequest); + } + + @Override + public OMClientResponse validateAndUpdateCache(OzoneManager ozoneManager, + long transactionLogIndex) { +AddAclRequest addAclRequest = getOmRequest().getAddAclRequest(); +Preconditions.checkNotNull(addAclRequest); + +OMResponse.Builder omResponse = OMResponse.newBuilder().setCmdType( +OzoneManagerProtocolProtos.Type.AddAcl).setStatus( +Status.OK).setSuccess(true); + +if (!addAclRequest.hasAcl()) { + omResponse.setStatus(Status.INVALID_REQUEST).setSuccess(false); + return new OMVolumeAddAclResponse(null, omResponse.build()); +} + +OzoneObjInfo ozoneObj = OzoneObjInfo.fromProtobuf(addAclRequest.getObj()); +OzoneAcl ozoneAcl = OzoneAcl.fromProtobuf(addAclRequest.getAcl()); +String volume = ozoneObj.getVolumeName(); + +OMMetrics omMetrics = ozoneManager.getMetrics(); +omMetrics.incNumVolumeUpdates(); +IOException exception = null; +OmVolumeArgs omVolumeArgs = null; + +OMMetadataManager omMetadataManager = ozoneManager.getMetadataManager(); + +try { + // check Acl + if (ozoneManager.getAclsEnabled()) { Review comment: Do you mean Kerberos? ACL can be used without Kerberos. But generally, ACL only makes sense when you can securely identify a user. This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above
[jira] [Work logged] (HDDS-1619) Support volume addACL operations for OM HA.
[ https://issues.apache.org/jira/browse/HDDS-1619?focusedWorklogId=283102=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-283102 ] ASF GitHub Bot logged work on HDDS-1619: Author: ASF GitHub Bot Created on: 26/Jul/19 05:01 Start Date: 26/Jul/19 05:01 Worklog Time Spent: 10m Work Description: xiaoyuyao commented on pull request #1147: HDDS-1619. Support volume addACL operations for OM HA. Contributed by… URL: https://github.com/apache/hadoop/pull/1147#discussion_r307588979 ## File path: hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/volume/acl/OMVolumeAddAclRequest.java ## @@ -0,0 +1,126 @@ +/** + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.hadoop.ozone.om.request.volume.acl; + +import com.google.common.base.Optional; +import com.google.common.base.Preconditions; +import org.apache.hadoop.ozone.OzoneAcl; +import org.apache.hadoop.ozone.om.OMMetadataManager; +import org.apache.hadoop.ozone.om.OMMetrics; +import org.apache.hadoop.ozone.om.OzoneManager; +import org.apache.hadoop.ozone.om.exceptions.OMException; +import org.apache.hadoop.ozone.om.helpers.OmVolumeArgs; +import org.apache.hadoop.ozone.om.request.OMClientRequest; +import org.apache.hadoop.ozone.om.response.OMClientResponse; +import org.apache.hadoop.ozone.om.response.volume.OMVolumeAddAclResponse; +import org.apache.hadoop.ozone.protocol.proto.OzoneManagerProtocolProtos; +import org.apache.hadoop.ozone.protocol.proto.OzoneManagerProtocolProtos.AddAclRequest; +import org.apache.hadoop.ozone.protocol.proto.OzoneManagerProtocolProtos.AddAclResponse; +import org.apache.hadoop.ozone.protocol.proto.OzoneManagerProtocolProtos.OMRequest; +import org.apache.hadoop.ozone.protocol.proto.OzoneManagerProtocolProtos.OMResponse; +import org.apache.hadoop.ozone.protocol.proto.OzoneManagerProtocolProtos.Status; + +import org.apache.hadoop.ozone.security.acl.IAccessAuthorizer; +import org.apache.hadoop.ozone.security.acl.OzoneObj; +import org.apache.hadoop.ozone.security.acl.OzoneObjInfo; +import org.apache.hadoop.utils.db.cache.CacheKey; +import org.apache.hadoop.utils.db.cache.CacheValue; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import java.io.IOException; + +import static org.apache.hadoop.ozone.om.lock.OzoneManagerLock.Resource.VOLUME_LOCK; + +/** + * Handles add acl request. + */ +public class OMVolumeAddAclRequest extends OMClientRequest { + private static final Logger LOG = + LoggerFactory.getLogger(OMVolumeAddAclRequest.class); + + public OMVolumeAddAclRequest(OMRequest omRequest) { +super(omRequest); + } + + @Override + public OMClientResponse validateAndUpdateCache(OzoneManager ozoneManager, + long transactionLogIndex) { +AddAclRequest addAclRequest = getOmRequest().getAddAclRequest(); +Preconditions.checkNotNull(addAclRequest); + +OMResponse.Builder omResponse = OMResponse.newBuilder().setCmdType( +OzoneManagerProtocolProtos.Type.AddAcl).setStatus( +Status.OK).setSuccess(true); + +if (!addAclRequest.hasAcl()) { + omResponse.setStatus(Status.INVALID_REQUEST).setSuccess(false); + return new OMVolumeAddAclResponse(null, omResponse.build()); +} + +OzoneObjInfo ozoneObj = OzoneObjInfo.fromProtobuf(addAclRequest.getObj()); Review comment: Can you elaborate on the OmVolumeArgs protobuf conversion? OzoneManager does not take VolumeArgs directly. All volume/bucket/key are wrapped into OzoneObj. Even though we have separate Requests, but OzoneObj from RPC layer has to be converted to specific structure. This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org Issue Time Tracking --- Worklog Id: (was: 283102) Time Spent: 2h 20m (was: 2h 10m) > Support volume addACL operations for OM HA. >
[jira] [Work logged] (HDDS-1619) Support volume addACL operations for OM HA.
[ https://issues.apache.org/jira/browse/HDDS-1619?focusedWorklogId=281469=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-281469 ] ASF GitHub Bot logged work on HDDS-1619: Author: ASF GitHub Bot Created on: 24/Jul/19 03:16 Start Date: 24/Jul/19 03:16 Worklog Time Spent: 10m Work Description: bharatviswa504 commented on pull request #1147: HDDS-1619. Support volume addACL operations for OM HA. Contributed by… URL: https://github.com/apache/hadoop/pull/1147#discussion_r306612920 ## File path: hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/volume/acl/OMVolumeAddAclRequest.java ## @@ -0,0 +1,126 @@ +/** + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.hadoop.ozone.om.request.volume.acl; + +import com.google.common.base.Optional; +import com.google.common.base.Preconditions; +import org.apache.hadoop.ozone.OzoneAcl; +import org.apache.hadoop.ozone.om.OMMetadataManager; +import org.apache.hadoop.ozone.om.OMMetrics; +import org.apache.hadoop.ozone.om.OzoneManager; +import org.apache.hadoop.ozone.om.exceptions.OMException; +import org.apache.hadoop.ozone.om.helpers.OmVolumeArgs; +import org.apache.hadoop.ozone.om.request.OMClientRequest; +import org.apache.hadoop.ozone.om.response.OMClientResponse; +import org.apache.hadoop.ozone.om.response.volume.OMVolumeAddAclResponse; +import org.apache.hadoop.ozone.protocol.proto.OzoneManagerProtocolProtos; +import org.apache.hadoop.ozone.protocol.proto.OzoneManagerProtocolProtos.AddAclRequest; +import org.apache.hadoop.ozone.protocol.proto.OzoneManagerProtocolProtos.AddAclResponse; +import org.apache.hadoop.ozone.protocol.proto.OzoneManagerProtocolProtos.OMRequest; +import org.apache.hadoop.ozone.protocol.proto.OzoneManagerProtocolProtos.OMResponse; +import org.apache.hadoop.ozone.protocol.proto.OzoneManagerProtocolProtos.Status; + +import org.apache.hadoop.ozone.security.acl.IAccessAuthorizer; +import org.apache.hadoop.ozone.security.acl.OzoneObj; +import org.apache.hadoop.ozone.security.acl.OzoneObjInfo; +import org.apache.hadoop.utils.db.cache.CacheKey; +import org.apache.hadoop.utils.db.cache.CacheValue; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import java.io.IOException; + +import static org.apache.hadoop.ozone.om.lock.OzoneManagerLock.Resource.VOLUME_LOCK; + +/** + * Handles add acl request. + */ +public class OMVolumeAddAclRequest extends OMClientRequest { + private static final Logger LOG = + LoggerFactory.getLogger(OMVolumeAddAclRequest.class); + + public OMVolumeAddAclRequest(OMRequest omRequest) { +super(omRequest); + } + + @Override + public OMClientResponse validateAndUpdateCache(OzoneManager ozoneManager, + long transactionLogIndex) { +AddAclRequest addAclRequest = getOmRequest().getAddAclRequest(); +Preconditions.checkNotNull(addAclRequest); + +OMResponse.Builder omResponse = OMResponse.newBuilder().setCmdType( +OzoneManagerProtocolProtos.Type.AddAcl).setStatus( +Status.OK).setSuccess(true); + +if (!addAclRequest.hasAcl()) { + omResponse.setStatus(Status.INVALID_REQUEST).setSuccess(false); + return new OMVolumeAddAclResponse(null, omResponse.build()); +} + +OzoneObjInfo ozoneObj = OzoneObjInfo.fromProtobuf(addAclRequest.getObj()); Review comment: If OmVolumeArgs has this direct protobuf structure's we can save the protobuf conversion. Previously this might be required because we used to have individual methods addACL with internal OzoneAcl structure of OM. As now we have implementation logic for each request, we can save this protobuf conversion. This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org Issue Time Tracking --- Worklog Id: (was: 281469) Time Spent: 2h 10m (was: 2h) > Support volume addACL
[jira] [Work logged] (HDDS-1619) Support volume addACL operations for OM HA.
[ https://issues.apache.org/jira/browse/HDDS-1619?focusedWorklogId=281468=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-281468 ] ASF GitHub Bot logged work on HDDS-1619: Author: ASF GitHub Bot Created on: 24/Jul/19 03:11 Start Date: 24/Jul/19 03:11 Worklog Time Spent: 10m Work Description: bharatviswa504 commented on pull request #1147: HDDS-1619. Support volume addACL operations for OM HA. Contributed by… URL: https://github.com/apache/hadoop/pull/1147#discussion_r306612165 ## File path: hadoop-ozone/ozone-manager/src/test/java/org/apache/hadoop/ozone/om/request/volume/TestOMVolumeAddAclRequest.java ## @@ -0,0 +1,165 @@ +/** + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.hadoop.ozone.om.request.volume; + +import org.apache.hadoop.hdds.conf.OzoneConfiguration; +import org.apache.hadoop.ozone.OzoneAcl; +import org.apache.hadoop.ozone.audit.AuditLogger; +import org.apache.hadoop.ozone.audit.AuditMessage; +import org.apache.hadoop.ozone.om.OMConfigKeys; +import org.apache.hadoop.ozone.om.OMMetadataManager; +import org.apache.hadoop.ozone.om.OMMetrics; +import org.apache.hadoop.ozone.om.OmMetadataManagerImpl; +import org.apache.hadoop.ozone.om.OzoneManager; +import org.apache.hadoop.ozone.om.helpers.OmOzoneAclMap; +import org.apache.hadoop.ozone.om.helpers.OmVolumeArgs; +import org.apache.hadoop.ozone.om.request.TestOMRequestUtils; +import org.apache.hadoop.ozone.om.request.volume.acl.OMVolumeAddAclRequest; +import org.apache.hadoop.ozone.om.response.OMClientResponse; +import org.apache.hadoop.ozone.protocol.proto.OzoneManagerProtocolProtos; +import org.apache.hadoop.ozone.protocol.proto.OzoneManagerProtocolProtos.OMRequest; +import org.apache.hadoop.ozone.protocol.proto.OzoneManagerProtocolProtos.OMResponse; + +import org.junit.After; +import org.junit.Assert; +import org.junit.Before; +import org.junit.Rule; +import org.junit.Test; +import org.junit.rules.TemporaryFolder; +import org.mockito.Mockito; + +import java.util.UUID; + +import static org.mockito.ArgumentMatchers.any; +import static org.mockito.Mockito.when; + +/** + * Tests volume addAcl request. + */ +public class TestOMVolumeAddAclRequest { + @Rule + public TemporaryFolder folder = new TemporaryFolder(); + + private OzoneManager ozoneManager; + private OMMetrics omMetrics; + private OMMetadataManager omMetadataManager; + private AuditLogger auditLogger; + + @Before + public void setup() throws Exception { +ozoneManager = Mockito.mock(OzoneManager.class); +omMetrics = OMMetrics.create(); +OzoneConfiguration ozoneConfiguration = new OzoneConfiguration(); +ozoneConfiguration.set(OMConfigKeys.OZONE_OM_DB_DIRS, +folder.newFolder().getAbsolutePath()); +omMetadataManager = new OmMetadataManagerImpl(ozoneConfiguration); +when(ozoneManager.getMetrics()).thenReturn(omMetrics); +when(ozoneManager.getMetadataManager()).thenReturn(omMetadataManager); +auditLogger = Mockito.mock(AuditLogger.class); +when(ozoneManager.getAuditLogger()).thenReturn(auditLogger); +Mockito.doNothing().when(auditLogger).logWrite(any(AuditMessage.class)); + } + + @After + public void stop() { +omMetrics.unRegister(); +Mockito.framework().clearInlineMocks(); + } + + @Test + public void testPreExecute() throws Exception { +String volumeName = UUID.randomUUID().toString(); +OzoneAcl acl = OzoneAcl.parseAcl("user:bilbo:rw"); +OMRequest originalRequest = +TestOMRequestUtils.createVolumeAddAclRequest(volumeName, acl); + +OMVolumeAddAclRequest omVolumeAddAclRequest = +new OMVolumeAddAclRequest(originalRequest); + +OMRequest modifiedRequest = omVolumeAddAclRequest.preExecute( +ozoneManager); +Assert.assertNotEquals(modifiedRequest, originalRequest); + } + + @Test + public void testValidateAndUpdateCacheSuccess() throws Exception { +String volumeName = UUID.randomUUID().toString(); +String ownerName = "user1"; + +TestOMRequestUtils.addUserToDB(volumeName, ownerName, omMetadataManager); +
[jira] [Work logged] (HDDS-1619) Support volume addACL operations for OM HA.
[ https://issues.apache.org/jira/browse/HDDS-1619?focusedWorklogId=281466=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-281466 ] ASF GitHub Bot logged work on HDDS-1619: Author: ASF GitHub Bot Created on: 24/Jul/19 03:10 Start Date: 24/Jul/19 03:10 Worklog Time Spent: 10m Work Description: bharatviswa504 commented on pull request #1147: HDDS-1619. Support volume addACL operations for OM HA. Contributed by… URL: https://github.com/apache/hadoop/pull/1147#discussion_r306611996 ## File path: hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/volume/acl/OMVolumeAddAclRequest.java ## @@ -0,0 +1,126 @@ +/** + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.hadoop.ozone.om.request.volume.acl; + +import com.google.common.base.Optional; +import com.google.common.base.Preconditions; +import org.apache.hadoop.ozone.OzoneAcl; +import org.apache.hadoop.ozone.om.OMMetadataManager; +import org.apache.hadoop.ozone.om.OMMetrics; +import org.apache.hadoop.ozone.om.OzoneManager; +import org.apache.hadoop.ozone.om.exceptions.OMException; +import org.apache.hadoop.ozone.om.helpers.OmVolumeArgs; +import org.apache.hadoop.ozone.om.request.OMClientRequest; +import org.apache.hadoop.ozone.om.response.OMClientResponse; +import org.apache.hadoop.ozone.om.response.volume.OMVolumeAddAclResponse; +import org.apache.hadoop.ozone.protocol.proto.OzoneManagerProtocolProtos; +import org.apache.hadoop.ozone.protocol.proto.OzoneManagerProtocolProtos.AddAclRequest; +import org.apache.hadoop.ozone.protocol.proto.OzoneManagerProtocolProtos.AddAclResponse; +import org.apache.hadoop.ozone.protocol.proto.OzoneManagerProtocolProtos.OMRequest; +import org.apache.hadoop.ozone.protocol.proto.OzoneManagerProtocolProtos.OMResponse; +import org.apache.hadoop.ozone.protocol.proto.OzoneManagerProtocolProtos.Status; + +import org.apache.hadoop.ozone.security.acl.IAccessAuthorizer; +import org.apache.hadoop.ozone.security.acl.OzoneObj; +import org.apache.hadoop.ozone.security.acl.OzoneObjInfo; +import org.apache.hadoop.utils.db.cache.CacheKey; +import org.apache.hadoop.utils.db.cache.CacheValue; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import java.io.IOException; + +import static org.apache.hadoop.ozone.om.lock.OzoneManagerLock.Resource.VOLUME_LOCK; + +/** + * Handles add acl request. + */ +public class OMVolumeAddAclRequest extends OMClientRequest { + private static final Logger LOG = + LoggerFactory.getLogger(OMVolumeAddAclRequest.class); + + public OMVolumeAddAclRequest(OMRequest omRequest) { +super(omRequest); + } + + @Override + public OMClientResponse validateAndUpdateCache(OzoneManager ozoneManager, + long transactionLogIndex) { +AddAclRequest addAclRequest = getOmRequest().getAddAclRequest(); +Preconditions.checkNotNull(addAclRequest); + +OMResponse.Builder omResponse = OMResponse.newBuilder().setCmdType( +OzoneManagerProtocolProtos.Type.AddAcl).setStatus( +Status.OK).setSuccess(true); + +if (!addAclRequest.hasAcl()) { + omResponse.setStatus(Status.INVALID_REQUEST).setSuccess(false); + return new OMVolumeAddAclResponse(null, omResponse.build()); +} + +OzoneObjInfo ozoneObj = OzoneObjInfo.fromProtobuf(addAclRequest.getObj()); +OzoneAcl ozoneAcl = OzoneAcl.fromProtobuf(addAclRequest.getAcl()); +String volume = ozoneObj.getVolumeName(); + +OMMetrics omMetrics = ozoneManager.getMetrics(); +omMetrics.incNumVolumeUpdates(); +IOException exception = null; +OmVolumeArgs omVolumeArgs = null; + +OMMetadataManager omMetadataManager = ozoneManager.getMetadataManager(); + +try { + // check Acl + if (ozoneManager.getAclsEnabled()) { Review comment: question: Is AclsEnabled only during security enabled? This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please
[jira] [Work logged] (HDDS-1619) Support volume addACL operations for OM HA.
[ https://issues.apache.org/jira/browse/HDDS-1619?focusedWorklogId=281467=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-281467 ] ASF GitHub Bot logged work on HDDS-1619: Author: ASF GitHub Bot Created on: 24/Jul/19 03:10 Start Date: 24/Jul/19 03:10 Worklog Time Spent: 10m Work Description: bharatviswa504 commented on pull request #1147: HDDS-1619. Support volume addACL operations for OM HA. Contributed by… URL: https://github.com/apache/hadoop/pull/1147#discussion_r306611996 ## File path: hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/volume/acl/OMVolumeAddAclRequest.java ## @@ -0,0 +1,126 @@ +/** + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.hadoop.ozone.om.request.volume.acl; + +import com.google.common.base.Optional; +import com.google.common.base.Preconditions; +import org.apache.hadoop.ozone.OzoneAcl; +import org.apache.hadoop.ozone.om.OMMetadataManager; +import org.apache.hadoop.ozone.om.OMMetrics; +import org.apache.hadoop.ozone.om.OzoneManager; +import org.apache.hadoop.ozone.om.exceptions.OMException; +import org.apache.hadoop.ozone.om.helpers.OmVolumeArgs; +import org.apache.hadoop.ozone.om.request.OMClientRequest; +import org.apache.hadoop.ozone.om.response.OMClientResponse; +import org.apache.hadoop.ozone.om.response.volume.OMVolumeAddAclResponse; +import org.apache.hadoop.ozone.protocol.proto.OzoneManagerProtocolProtos; +import org.apache.hadoop.ozone.protocol.proto.OzoneManagerProtocolProtos.AddAclRequest; +import org.apache.hadoop.ozone.protocol.proto.OzoneManagerProtocolProtos.AddAclResponse; +import org.apache.hadoop.ozone.protocol.proto.OzoneManagerProtocolProtos.OMRequest; +import org.apache.hadoop.ozone.protocol.proto.OzoneManagerProtocolProtos.OMResponse; +import org.apache.hadoop.ozone.protocol.proto.OzoneManagerProtocolProtos.Status; + +import org.apache.hadoop.ozone.security.acl.IAccessAuthorizer; +import org.apache.hadoop.ozone.security.acl.OzoneObj; +import org.apache.hadoop.ozone.security.acl.OzoneObjInfo; +import org.apache.hadoop.utils.db.cache.CacheKey; +import org.apache.hadoop.utils.db.cache.CacheValue; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import java.io.IOException; + +import static org.apache.hadoop.ozone.om.lock.OzoneManagerLock.Resource.VOLUME_LOCK; + +/** + * Handles add acl request. + */ +public class OMVolumeAddAclRequest extends OMClientRequest { + private static final Logger LOG = + LoggerFactory.getLogger(OMVolumeAddAclRequest.class); + + public OMVolumeAddAclRequest(OMRequest omRequest) { +super(omRequest); + } + + @Override + public OMClientResponse validateAndUpdateCache(OzoneManager ozoneManager, + long transactionLogIndex) { +AddAclRequest addAclRequest = getOmRequest().getAddAclRequest(); +Preconditions.checkNotNull(addAclRequest); + +OMResponse.Builder omResponse = OMResponse.newBuilder().setCmdType( +OzoneManagerProtocolProtos.Type.AddAcl).setStatus( +Status.OK).setSuccess(true); + +if (!addAclRequest.hasAcl()) { + omResponse.setStatus(Status.INVALID_REQUEST).setSuccess(false); + return new OMVolumeAddAclResponse(null, omResponse.build()); +} + +OzoneObjInfo ozoneObj = OzoneObjInfo.fromProtobuf(addAclRequest.getObj()); +OzoneAcl ozoneAcl = OzoneAcl.fromProtobuf(addAclRequest.getAcl()); +String volume = ozoneObj.getVolumeName(); + +OMMetrics omMetrics = ozoneManager.getMetrics(); +omMetrics.incNumVolumeUpdates(); +IOException exception = null; +OmVolumeArgs omVolumeArgs = null; + +OMMetadataManager omMetadataManager = ozoneManager.getMetadataManager(); + +try { + // check Acl + if (ozoneManager.getAclsEnabled()) { Review comment: question: Is AclsEnabled only when security is enabled? This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please
[jira] [Work logged] (HDDS-1619) Support volume addACL operations for OM HA.
[ https://issues.apache.org/jira/browse/HDDS-1619?focusedWorklogId=281465=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-281465 ] ASF GitHub Bot logged work on HDDS-1619: Author: ASF GitHub Bot Created on: 24/Jul/19 03:09 Start Date: 24/Jul/19 03:09 Worklog Time Spent: 10m Work Description: bharatviswa504 commented on pull request #1147: HDDS-1619. Support volume addACL operations for OM HA. Contributed by… URL: https://github.com/apache/hadoop/pull/1147#discussion_r306611696 ## File path: hadoop-ozone/ozone-manager/src/test/java/org/apache/hadoop/ozone/om/request/volume/TestOMVolumeAddAclRequest.java ## @@ -0,0 +1,165 @@ +/** + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.hadoop.ozone.om.request.volume; + +import org.apache.hadoop.hdds.conf.OzoneConfiguration; +import org.apache.hadoop.ozone.OzoneAcl; +import org.apache.hadoop.ozone.audit.AuditLogger; +import org.apache.hadoop.ozone.audit.AuditMessage; +import org.apache.hadoop.ozone.om.OMConfigKeys; +import org.apache.hadoop.ozone.om.OMMetadataManager; +import org.apache.hadoop.ozone.om.OMMetrics; +import org.apache.hadoop.ozone.om.OmMetadataManagerImpl; +import org.apache.hadoop.ozone.om.OzoneManager; +import org.apache.hadoop.ozone.om.helpers.OmOzoneAclMap; +import org.apache.hadoop.ozone.om.helpers.OmVolumeArgs; +import org.apache.hadoop.ozone.om.request.TestOMRequestUtils; +import org.apache.hadoop.ozone.om.request.volume.acl.OMVolumeAddAclRequest; +import org.apache.hadoop.ozone.om.response.OMClientResponse; +import org.apache.hadoop.ozone.protocol.proto.OzoneManagerProtocolProtos; +import org.apache.hadoop.ozone.protocol.proto.OzoneManagerProtocolProtos.OMRequest; +import org.apache.hadoop.ozone.protocol.proto.OzoneManagerProtocolProtos.OMResponse; + +import org.junit.After; +import org.junit.Assert; +import org.junit.Before; +import org.junit.Rule; +import org.junit.Test; +import org.junit.rules.TemporaryFolder; +import org.mockito.Mockito; + +import java.util.UUID; + +import static org.mockito.ArgumentMatchers.any; +import static org.mockito.Mockito.when; + +/** + * Tests volume addAcl request. + */ +public class TestOMVolumeAddAclRequest { + @Rule + public TemporaryFolder folder = new TemporaryFolder(); + + private OzoneManager ozoneManager; + private OMMetrics omMetrics; + private OMMetadataManager omMetadataManager; + private AuditLogger auditLogger; + Review comment: Can we move the common code for all ACLRequest to a base class? So this code can be reused during other ACLRequest implementation testing. This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org Issue Time Tracking --- Worklog Id: (was: 281465) Time Spent: 1.5h (was: 1h 20m) > Support volume addACL operations for OM HA. > --- > > Key: HDDS-1619 > URL: https://issues.apache.org/jira/browse/HDDS-1619 > Project: Hadoop Distributed Data Store > Issue Type: Sub-task >Reporter: Ajay Kumar >Assignee: Xiaoyu Yao >Priority: Major > Labels: pull-request-available > Time Spent: 1.5h > Remaining Estimate: 0h > > [HDDS-1539] adds 4 new api for Ozone rpc client. OM HA implementation needs > to handle them. -- This message was sent by Atlassian JIRA (v7.6.14#76016) - To unsubscribe, e-mail: hdfs-issues-unsubscr...@hadoop.apache.org For additional commands, e-mail: hdfs-issues-h...@hadoop.apache.org
[jira] [Work logged] (HDDS-1619) Support volume addACL operations for OM HA.
[ https://issues.apache.org/jira/browse/HDDS-1619?focusedWorklogId=281464=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-281464 ] ASF GitHub Bot logged work on HDDS-1619: Author: ASF GitHub Bot Created on: 24/Jul/19 03:08 Start Date: 24/Jul/19 03:08 Worklog Time Spent: 10m Work Description: bharatviswa504 commented on pull request #1147: HDDS-1619. Support volume addACL operations for OM HA. Contributed by… URL: https://github.com/apache/hadoop/pull/1147#discussion_r306611696 ## File path: hadoop-ozone/ozone-manager/src/test/java/org/apache/hadoop/ozone/om/request/volume/TestOMVolumeAddAclRequest.java ## @@ -0,0 +1,165 @@ +/** + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.hadoop.ozone.om.request.volume; + +import org.apache.hadoop.hdds.conf.OzoneConfiguration; +import org.apache.hadoop.ozone.OzoneAcl; +import org.apache.hadoop.ozone.audit.AuditLogger; +import org.apache.hadoop.ozone.audit.AuditMessage; +import org.apache.hadoop.ozone.om.OMConfigKeys; +import org.apache.hadoop.ozone.om.OMMetadataManager; +import org.apache.hadoop.ozone.om.OMMetrics; +import org.apache.hadoop.ozone.om.OmMetadataManagerImpl; +import org.apache.hadoop.ozone.om.OzoneManager; +import org.apache.hadoop.ozone.om.helpers.OmOzoneAclMap; +import org.apache.hadoop.ozone.om.helpers.OmVolumeArgs; +import org.apache.hadoop.ozone.om.request.TestOMRequestUtils; +import org.apache.hadoop.ozone.om.request.volume.acl.OMVolumeAddAclRequest; +import org.apache.hadoop.ozone.om.response.OMClientResponse; +import org.apache.hadoop.ozone.protocol.proto.OzoneManagerProtocolProtos; +import org.apache.hadoop.ozone.protocol.proto.OzoneManagerProtocolProtos.OMRequest; +import org.apache.hadoop.ozone.protocol.proto.OzoneManagerProtocolProtos.OMResponse; + +import org.junit.After; +import org.junit.Assert; +import org.junit.Before; +import org.junit.Rule; +import org.junit.Test; +import org.junit.rules.TemporaryFolder; +import org.mockito.Mockito; + +import java.util.UUID; + +import static org.mockito.ArgumentMatchers.any; +import static org.mockito.Mockito.when; + +/** + * Tests volume addAcl request. + */ +public class TestOMVolumeAddAclRequest { + @Rule + public TemporaryFolder folder = new TemporaryFolder(); + + private OzoneManager ozoneManager; + private OMMetrics omMetrics; + private OMMetadataManager omMetadataManager; + private AuditLogger auditLogger; + Review comment: Can we move the common code for all ACLRequest to a base class. So this code can be reused during other ACLRequest implementation testing. This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org Issue Time Tracking --- Worklog Id: (was: 281464) Time Spent: 1h 20m (was: 1h 10m) > Support volume addACL operations for OM HA. > --- > > Key: HDDS-1619 > URL: https://issues.apache.org/jira/browse/HDDS-1619 > Project: Hadoop Distributed Data Store > Issue Type: Sub-task >Reporter: Ajay Kumar >Assignee: Xiaoyu Yao >Priority: Major > Labels: pull-request-available > Time Spent: 1h 20m > Remaining Estimate: 0h > > [HDDS-1539] adds 4 new api for Ozone rpc client. OM HA implementation needs > to handle them. -- This message was sent by Atlassian JIRA (v7.6.14#76016) - To unsubscribe, e-mail: hdfs-issues-unsubscr...@hadoop.apache.org For additional commands, e-mail: hdfs-issues-h...@hadoop.apache.org
[jira] [Work logged] (HDDS-1619) Support volume addACL operations for OM HA.
[ https://issues.apache.org/jira/browse/HDDS-1619?focusedWorklogId=281460=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-281460 ] ASF GitHub Bot logged work on HDDS-1619: Author: ASF GitHub Bot Created on: 24/Jul/19 03:05 Start Date: 24/Jul/19 03:05 Worklog Time Spent: 10m Work Description: bharatviswa504 commented on pull request #1147: HDDS-1619. Support volume addACL operations for OM HA. Contributed by… URL: https://github.com/apache/hadoop/pull/1147#discussion_r306611229 ## File path: hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/volume/acl/OMVolumeAddAclRequest.java ## @@ -0,0 +1,126 @@ +/** + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.hadoop.ozone.om.request.volume.acl; + +import com.google.common.base.Optional; +import com.google.common.base.Preconditions; +import org.apache.hadoop.ozone.OzoneAcl; +import org.apache.hadoop.ozone.om.OMMetadataManager; +import org.apache.hadoop.ozone.om.OMMetrics; +import org.apache.hadoop.ozone.om.OzoneManager; +import org.apache.hadoop.ozone.om.exceptions.OMException; +import org.apache.hadoop.ozone.om.helpers.OmVolumeArgs; +import org.apache.hadoop.ozone.om.request.OMClientRequest; +import org.apache.hadoop.ozone.om.response.OMClientResponse; +import org.apache.hadoop.ozone.om.response.volume.OMVolumeAddAclResponse; +import org.apache.hadoop.ozone.protocol.proto.OzoneManagerProtocolProtos; +import org.apache.hadoop.ozone.protocol.proto.OzoneManagerProtocolProtos.AddAclRequest; +import org.apache.hadoop.ozone.protocol.proto.OzoneManagerProtocolProtos.AddAclResponse; +import org.apache.hadoop.ozone.protocol.proto.OzoneManagerProtocolProtos.OMRequest; +import org.apache.hadoop.ozone.protocol.proto.OzoneManagerProtocolProtos.OMResponse; +import org.apache.hadoop.ozone.protocol.proto.OzoneManagerProtocolProtos.Status; + +import org.apache.hadoop.ozone.security.acl.IAccessAuthorizer; +import org.apache.hadoop.ozone.security.acl.OzoneObj; +import org.apache.hadoop.ozone.security.acl.OzoneObjInfo; +import org.apache.hadoop.utils.db.cache.CacheKey; +import org.apache.hadoop.utils.db.cache.CacheValue; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import java.io.IOException; + +import static org.apache.hadoop.ozone.om.lock.OzoneManagerLock.Resource.VOLUME_LOCK; + +/** + * Handles add acl request. + */ +public class OMVolumeAddAclRequest extends OMClientRequest { + private static final Logger LOG = + LoggerFactory.getLogger(OMVolumeAddAclRequest.class); + + public OMVolumeAddAclRequest(OMRequest omRequest) { +super(omRequest); + } + + @Override + public OMClientResponse validateAndUpdateCache(OzoneManager ozoneManager, + long transactionLogIndex) { +AddAclRequest addAclRequest = getOmRequest().getAddAclRequest(); +Preconditions.checkNotNull(addAclRequest); + +OMResponse.Builder omResponse = OMResponse.newBuilder().setCmdType( +OzoneManagerProtocolProtos.Type.AddAcl).setStatus( +Status.OK).setSuccess(true); + +if (!addAclRequest.hasAcl()) { + omResponse.setStatus(Status.INVALID_REQUEST).setSuccess(false); + return new OMVolumeAddAclResponse(null, omResponse.build()); +} + +OzoneObjInfo ozoneObj = OzoneObjInfo.fromProtobuf(addAclRequest.getObj()); +OzoneAcl ozoneAcl = OzoneAcl.fromProtobuf(addAclRequest.getAcl()); +String volume = ozoneObj.getVolumeName(); + +OMMetrics omMetrics = ozoneManager.getMetrics(); +omMetrics.incNumVolumeUpdates(); +IOException exception = null; +OmVolumeArgs omVolumeArgs = null; + +OMMetadataManager omMetadataManager = ozoneManager.getMetadataManager(); + +try { + // check Acl + if (ozoneManager.getAclsEnabled()) { +checkAcls(ozoneManager, OzoneObj.ResourceType.VOLUME, +OzoneObj.StoreType.OZONE, IAccessAuthorizer.ACLType.WRITE, volume, +null, null); + } + + omMetadataManager.getLock().acquireLock(VOLUME_LOCK, volume); + String dbVolumeKey = omMetadataManager.getVolumeKey(volume); + omVolumeArgs =
[jira] [Work logged] (HDDS-1619) Support volume addACL operations for OM HA.
[ https://issues.apache.org/jira/browse/HDDS-1619?focusedWorklogId=281457=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-281457 ] ASF GitHub Bot logged work on HDDS-1619: Author: ASF GitHub Bot Created on: 24/Jul/19 03:03 Start Date: 24/Jul/19 03:03 Worklog Time Spent: 10m Work Description: bharatviswa504 commented on pull request #1147: HDDS-1619. Support volume addACL operations for OM HA. Contributed by… URL: https://github.com/apache/hadoop/pull/1147#discussion_r306610879 ## File path: hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/protocolPB/OzoneManagerHARequestHandlerImpl.java ## @@ -70,6 +70,7 @@ public OMResponse handleApplyTransaction(OMRequest omRequest, case CreateS3Bucket: case DeleteS3Bucket: case InitiateMultiPartUpload: +case AddAcl: Review comment: Here also we need to have similar logic which is added in OzoneManagerRatisUtils. As in this patch, only VolumeAddACLRequest is done, rest else should take the default code path (As for these requests, still HA is not in there.) This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org Issue Time Tracking --- Worklog Id: (was: 281457) Time Spent: 1h (was: 50m) > Support volume addACL operations for OM HA. > --- > > Key: HDDS-1619 > URL: https://issues.apache.org/jira/browse/HDDS-1619 > Project: Hadoop Distributed Data Store > Issue Type: Sub-task >Reporter: Ajay Kumar >Assignee: Xiaoyu Yao >Priority: Major > Labels: pull-request-available > Time Spent: 1h > Remaining Estimate: 0h > > [HDDS-1539] adds 4 new api for Ozone rpc client. OM HA implementation needs > to handle them. -- This message was sent by Atlassian JIRA (v7.6.14#76016) - To unsubscribe, e-mail: hdfs-issues-unsubscr...@hadoop.apache.org For additional commands, e-mail: hdfs-issues-h...@hadoop.apache.org
[jira] [Work logged] (HDDS-1619) Support volume addACL operations for OM HA.
[ https://issues.apache.org/jira/browse/HDDS-1619?focusedWorklogId=281451=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-281451 ] ASF GitHub Bot logged work on HDDS-1619: Author: ASF GitHub Bot Created on: 24/Jul/19 02:58 Start Date: 24/Jul/19 02:58 Worklog Time Spent: 10m Work Description: bharatviswa504 commented on pull request #1147: HDDS-1619. Support volume addACL operations for OM HA. Contributed by… URL: https://github.com/apache/hadoop/pull/1147#discussion_r306610089 ## File path: hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/volume/acl/OMVolumeAddAclRequest.java ## @@ -0,0 +1,126 @@ +/** + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.hadoop.ozone.om.request.volume.acl; + +import com.google.common.base.Optional; +import com.google.common.base.Preconditions; +import org.apache.hadoop.ozone.OzoneAcl; +import org.apache.hadoop.ozone.om.OMMetadataManager; +import org.apache.hadoop.ozone.om.OMMetrics; +import org.apache.hadoop.ozone.om.OzoneManager; +import org.apache.hadoop.ozone.om.exceptions.OMException; +import org.apache.hadoop.ozone.om.helpers.OmVolumeArgs; +import org.apache.hadoop.ozone.om.request.OMClientRequest; +import org.apache.hadoop.ozone.om.response.OMClientResponse; +import org.apache.hadoop.ozone.om.response.volume.OMVolumeAddAclResponse; +import org.apache.hadoop.ozone.protocol.proto.OzoneManagerProtocolProtos; +import org.apache.hadoop.ozone.protocol.proto.OzoneManagerProtocolProtos.AddAclRequest; +import org.apache.hadoop.ozone.protocol.proto.OzoneManagerProtocolProtos.AddAclResponse; +import org.apache.hadoop.ozone.protocol.proto.OzoneManagerProtocolProtos.OMRequest; +import org.apache.hadoop.ozone.protocol.proto.OzoneManagerProtocolProtos.OMResponse; +import org.apache.hadoop.ozone.protocol.proto.OzoneManagerProtocolProtos.Status; + +import org.apache.hadoop.ozone.security.acl.IAccessAuthorizer; +import org.apache.hadoop.ozone.security.acl.OzoneObj; +import org.apache.hadoop.ozone.security.acl.OzoneObjInfo; +import org.apache.hadoop.utils.db.cache.CacheKey; +import org.apache.hadoop.utils.db.cache.CacheValue; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import java.io.IOException; + +import static org.apache.hadoop.ozone.om.lock.OzoneManagerLock.Resource.VOLUME_LOCK; + +/** + * Handles add acl request. + */ +public class OMVolumeAddAclRequest extends OMClientRequest { + private static final Logger LOG = + LoggerFactory.getLogger(OMVolumeAddAclRequest.class); + + public OMVolumeAddAclRequest(OMRequest omRequest) { +super(omRequest); + } + + @Override + public OMClientResponse validateAndUpdateCache(OzoneManager ozoneManager, + long transactionLogIndex) { +AddAclRequest addAclRequest = getOmRequest().getAddAclRequest(); +Preconditions.checkNotNull(addAclRequest); + +OMResponse.Builder omResponse = OMResponse.newBuilder().setCmdType( +OzoneManagerProtocolProtos.Type.AddAcl).setStatus( +Status.OK).setSuccess(true); + +if (!addAclRequest.hasAcl()) { + omResponse.setStatus(Status.INVALID_REQUEST).setSuccess(false); + return new OMVolumeAddAclResponse(null, omResponse.build()); +} + +OzoneObjInfo ozoneObj = OzoneObjInfo.fromProtobuf(addAclRequest.getObj()); +OzoneAcl ozoneAcl = OzoneAcl.fromProtobuf(addAclRequest.getAcl()); +String volume = ozoneObj.getVolumeName(); + +OMMetrics omMetrics = ozoneManager.getMetrics(); +omMetrics.incNumVolumeUpdates(); +IOException exception = null; +OmVolumeArgs omVolumeArgs = null; + +OMMetadataManager omMetadataManager = ozoneManager.getMetadataManager(); + +try { + // check Acl + if (ozoneManager.getAclsEnabled()) { +checkAcls(ozoneManager, OzoneObj.ResourceType.VOLUME, +OzoneObj.StoreType.OZONE, IAccessAuthorizer.ACLType.WRITE, volume, +null, null); + } + + omMetadataManager.getLock().acquireLock(VOLUME_LOCK, volume); + String dbVolumeKey = omMetadataManager.getVolumeKey(volume); + omVolumeArgs =
[jira] [Work logged] (HDDS-1619) Support volume addACL operations for OM HA.
[ https://issues.apache.org/jira/browse/HDDS-1619?focusedWorklogId=281450=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-281450 ] ASF GitHub Bot logged work on HDDS-1619: Author: ASF GitHub Bot Created on: 24/Jul/19 02:55 Start Date: 24/Jul/19 02:55 Worklog Time Spent: 10m Work Description: bharatviswa504 commented on pull request #1147: HDDS-1619. Support volume addACL operations for OM HA. Contributed by… URL: https://github.com/apache/hadoop/pull/1147#discussion_r306609693 ## File path: hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/volume/acl/OMVolumeAddAclRequest.java ## @@ -0,0 +1,126 @@ +/** + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.hadoop.ozone.om.request.volume.acl; + +import com.google.common.base.Optional; +import com.google.common.base.Preconditions; +import org.apache.hadoop.ozone.OzoneAcl; +import org.apache.hadoop.ozone.om.OMMetadataManager; +import org.apache.hadoop.ozone.om.OMMetrics; +import org.apache.hadoop.ozone.om.OzoneManager; +import org.apache.hadoop.ozone.om.exceptions.OMException; +import org.apache.hadoop.ozone.om.helpers.OmVolumeArgs; +import org.apache.hadoop.ozone.om.request.OMClientRequest; +import org.apache.hadoop.ozone.om.response.OMClientResponse; +import org.apache.hadoop.ozone.om.response.volume.OMVolumeAddAclResponse; +import org.apache.hadoop.ozone.protocol.proto.OzoneManagerProtocolProtos; +import org.apache.hadoop.ozone.protocol.proto.OzoneManagerProtocolProtos.AddAclRequest; +import org.apache.hadoop.ozone.protocol.proto.OzoneManagerProtocolProtos.AddAclResponse; +import org.apache.hadoop.ozone.protocol.proto.OzoneManagerProtocolProtos.OMRequest; +import org.apache.hadoop.ozone.protocol.proto.OzoneManagerProtocolProtos.OMResponse; +import org.apache.hadoop.ozone.protocol.proto.OzoneManagerProtocolProtos.Status; + +import org.apache.hadoop.ozone.security.acl.IAccessAuthorizer; +import org.apache.hadoop.ozone.security.acl.OzoneObj; +import org.apache.hadoop.ozone.security.acl.OzoneObjInfo; +import org.apache.hadoop.utils.db.cache.CacheKey; +import org.apache.hadoop.utils.db.cache.CacheValue; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import java.io.IOException; + +import static org.apache.hadoop.ozone.om.lock.OzoneManagerLock.Resource.VOLUME_LOCK; + +/** + * Handles add acl request. + */ +public class OMVolumeAddAclRequest extends OMClientRequest { + private static final Logger LOG = + LoggerFactory.getLogger(OMVolumeAddAclRequest.class); + + public OMVolumeAddAclRequest(OMRequest omRequest) { +super(omRequest); + } + + @Override + public OMClientResponse validateAndUpdateCache(OzoneManager ozoneManager, + long transactionLogIndex) { +AddAclRequest addAclRequest = getOmRequest().getAddAclRequest(); +Preconditions.checkNotNull(addAclRequest); + +OMResponse.Builder omResponse = OMResponse.newBuilder().setCmdType( +OzoneManagerProtocolProtos.Type.AddAcl).setStatus( +Status.OK).setSuccess(true); + +if (!addAclRequest.hasAcl()) { + omResponse.setStatus(Status.INVALID_REQUEST).setSuccess(false); + return new OMVolumeAddAclResponse(null, omResponse.build()); +} + +OzoneObjInfo ozoneObj = OzoneObjInfo.fromProtobuf(addAclRequest.getObj()); +OzoneAcl ozoneAcl = OzoneAcl.fromProtobuf(addAclRequest.getAcl()); +String volume = ozoneObj.getVolumeName(); + +OMMetrics omMetrics = ozoneManager.getMetrics(); +omMetrics.incNumVolumeUpdates(); +IOException exception = null; +OmVolumeArgs omVolumeArgs = null; + +OMMetadataManager omMetadataManager = ozoneManager.getMetadataManager(); + +try { + // check Acl + if (ozoneManager.getAclsEnabled()) { +checkAcls(ozoneManager, OzoneObj.ResourceType.VOLUME, +OzoneObj.StoreType.OZONE, IAccessAuthorizer.ACLType.WRITE, volume, +null, null); + } + + omMetadataManager.getLock().acquireLock(VOLUME_LOCK, volume); + String dbVolumeKey = omMetadataManager.getVolumeKey(volume); + omVolumeArgs =
[jira] [Work logged] (HDDS-1619) Support volume addACL operations for OM HA.
[ https://issues.apache.org/jira/browse/HDDS-1619?focusedWorklogId=281448=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-281448 ] ASF GitHub Bot logged work on HDDS-1619: Author: ASF GitHub Bot Created on: 24/Jul/19 02:54 Start Date: 24/Jul/19 02:54 Worklog Time Spent: 10m Work Description: bharatviswa504 commented on pull request #1147: HDDS-1619. Support volume addACL operations for OM HA. Contributed by… URL: https://github.com/apache/hadoop/pull/1147#discussion_r306609418 ## File path: hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/volume/acl/OMVolumeAddAclRequest.java ## @@ -0,0 +1,126 @@ +/** + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.hadoop.ozone.om.request.volume.acl; + +import com.google.common.base.Optional; +import com.google.common.base.Preconditions; +import org.apache.hadoop.ozone.OzoneAcl; +import org.apache.hadoop.ozone.om.OMMetadataManager; +import org.apache.hadoop.ozone.om.OMMetrics; +import org.apache.hadoop.ozone.om.OzoneManager; +import org.apache.hadoop.ozone.om.exceptions.OMException; +import org.apache.hadoop.ozone.om.helpers.OmVolumeArgs; +import org.apache.hadoop.ozone.om.request.OMClientRequest; +import org.apache.hadoop.ozone.om.response.OMClientResponse; +import org.apache.hadoop.ozone.om.response.volume.OMVolumeAddAclResponse; +import org.apache.hadoop.ozone.protocol.proto.OzoneManagerProtocolProtos; +import org.apache.hadoop.ozone.protocol.proto.OzoneManagerProtocolProtos.AddAclRequest; +import org.apache.hadoop.ozone.protocol.proto.OzoneManagerProtocolProtos.AddAclResponse; +import org.apache.hadoop.ozone.protocol.proto.OzoneManagerProtocolProtos.OMRequest; +import org.apache.hadoop.ozone.protocol.proto.OzoneManagerProtocolProtos.OMResponse; +import org.apache.hadoop.ozone.protocol.proto.OzoneManagerProtocolProtos.Status; + +import org.apache.hadoop.ozone.security.acl.IAccessAuthorizer; +import org.apache.hadoop.ozone.security.acl.OzoneObj; +import org.apache.hadoop.ozone.security.acl.OzoneObjInfo; +import org.apache.hadoop.utils.db.cache.CacheKey; +import org.apache.hadoop.utils.db.cache.CacheValue; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import java.io.IOException; + +import static org.apache.hadoop.ozone.om.lock.OzoneManagerLock.Resource.VOLUME_LOCK; + +/** + * Handles add acl request. + */ +public class OMVolumeAddAclRequest extends OMClientRequest { + private static final Logger LOG = + LoggerFactory.getLogger(OMVolumeAddAclRequest.class); + + public OMVolumeAddAclRequest(OMRequest omRequest) { +super(omRequest); + } + + @Override + public OMClientResponse validateAndUpdateCache(OzoneManager ozoneManager, + long transactionLogIndex) { +AddAclRequest addAclRequest = getOmRequest().getAddAclRequest(); +Preconditions.checkNotNull(addAclRequest); + +OMResponse.Builder omResponse = OMResponse.newBuilder().setCmdType( +OzoneManagerProtocolProtos.Type.AddAcl).setStatus( +Status.OK).setSuccess(true); + +if (!addAclRequest.hasAcl()) { + omResponse.setStatus(Status.INVALID_REQUEST).setSuccess(false); + return new OMVolumeAddAclResponse(null, omResponse.build()); +} + +OzoneObjInfo ozoneObj = OzoneObjInfo.fromProtobuf(addAclRequest.getObj()); +OzoneAcl ozoneAcl = OzoneAcl.fromProtobuf(addAclRequest.getAcl()); +String volume = ozoneObj.getVolumeName(); + +OMMetrics omMetrics = ozoneManager.getMetrics(); +omMetrics.incNumVolumeUpdates(); +IOException exception = null; +OmVolumeArgs omVolumeArgs = null; + +OMMetadataManager omMetadataManager = ozoneManager.getMetadataManager(); + +try { + // check Acl + if (ozoneManager.getAclsEnabled()) { +checkAcls(ozoneManager, OzoneObj.ResourceType.VOLUME, +OzoneObj.StoreType.OZONE, IAccessAuthorizer.ACLType.WRITE, volume, +null, null); + } + + omMetadataManager.getLock().acquireLock(VOLUME_LOCK, volume); Review comment: acquireLock lock returns boolean. Depending on that we should release lock
[jira] [Work logged] (HDDS-1619) Support volume addACL operations for OM HA.
[ https://issues.apache.org/jira/browse/HDDS-1619?focusedWorklogId=281417=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-281417 ] ASF GitHub Bot logged work on HDDS-1619: Author: ASF GitHub Bot Created on: 24/Jul/19 01:04 Start Date: 24/Jul/19 01:04 Worklog Time Spent: 10m Work Description: hadoop-yetus commented on issue #1147: HDDS-1619. Support volume addACL operations for OM HA. Contributed by… URL: https://github.com/apache/hadoop/pull/1147#issuecomment-514438254 :broken_heart: **-1 overall** | Vote | Subsystem | Runtime | Comment | |::|--:|:|:| | 0 | reexec | 515 | Docker mode activated. | ||| _ Prechecks _ | | +1 | dupname | 0 | No case conflicting files found. | | +1 | @author | 0 | The patch does not contain any @author tags. | | +1 | test4tests | 0 | The patch appears to include 2 new or modified test files. | ||| _ trunk Compile Tests _ | | +1 | mvninstall | 636 | trunk passed | | +1 | compile | 375 | trunk passed | | +1 | checkstyle | 65 | trunk passed | | +1 | mvnsite | 0 | trunk passed | | +1 | shadedclient | 845 | branch has no errors when building and testing our client artifacts. | | +1 | javadoc | 171 | trunk passed | | 0 | spotbugs | 450 | Used deprecated FindBugs config; considering switching to SpotBugs. | | +1 | findbugs | 665 | trunk passed | ||| _ Patch Compile Tests _ | | +1 | mvninstall | 581 | the patch passed | | +1 | compile | 395 | the patch passed | | +1 | javac | 395 | the patch passed | | +1 | checkstyle | 70 | the patch passed | | +1 | mvnsite | 0 | the patch passed | | +1 | whitespace | 0 | The patch has no whitespace issues. | | +1 | shadedclient | 650 | patch has no errors when building and testing our client artifacts. | | +1 | javadoc | 155 | the patch passed | | +1 | findbugs | 702 | the patch passed | ||| _ Other Tests _ | | +1 | unit | 288 | hadoop-hdds in the patch passed. | | -1 | unit | 1342 | hadoop-ozone in the patch failed. | | +1 | asflicense | 39 | The patch does not generate ASF License warnings. | | | | 7647 | | | Reason | Tests | |---:|:--| | Failed junit tests | hadoop.ozone.om.TestOzoneManager | | | hadoop.ozone.om.snapshot.TestOzoneManagerSnapshotProvider | | | hadoop.ozone.om.TestOmMetrics | | | hadoop.ozone.om.TestOzoneManagerRestInterface | | Subsystem | Report/Notes | |--:|:-| | Docker | Client=19.03.0 Server=19.03.0 base: https://builds.apache.org/job/hadoop-multibranch/job/PR-1147/1/artifact/out/Dockerfile | | GITHUB PR | https://github.com/apache/hadoop/pull/1147 | | Optional Tests | dupname asflicense compile javac javadoc mvninstall mvnsite unit shadedclient findbugs checkstyle | | uname | Linux 3f3d3e25ea16 4.4.0-138-generic #164-Ubuntu SMP Tue Oct 2 17:16:02 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux | | Build tool | maven | | Personality | personality/hadoop.sh | | git revision | trunk / ecb9f81 | | Default Java | 1.8.0_212 | | unit | https://builds.apache.org/job/hadoop-multibranch/job/PR-1147/1/artifact/out/patch-unit-hadoop-ozone.txt | | Test Results | https://builds.apache.org/job/hadoop-multibranch/job/PR-1147/1/testReport/ | | Max. process+thread count | 2333 (vs. ulimit of 5500) | | modules | C: hadoop-ozone/ozone-manager U: hadoop-ozone/ozone-manager | | Console output | https://builds.apache.org/job/hadoop-multibranch/job/PR-1147/1/console | | versions | git=2.7.4 maven=3.3.9 findbugs=3.1.0-RC1 | | Powered by | Apache Yetus 0.10.0 http://yetus.apache.org | This message was automatically generated. This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org Issue Time Tracking --- Worklog Id: (was: 281417) Time Spent: 20m (was: 10m) > Support volume addACL operations for OM HA. > --- > > Key: HDDS-1619 > URL: https://issues.apache.org/jira/browse/HDDS-1619 > Project: Hadoop Distributed Data Store > Issue Type: Sub-task >Reporter: Ajay Kumar >Assignee: Xiaoyu Yao >Priority: Major > Labels: pull-request-available > Time Spent: 20m > Remaining Estimate: 0h > > [HDDS-1539] adds 4 new api for Ozone rpc client. OM HA implementation needs > to handle them. -- This message was sent by Atlassian JIRA (v7.6.14#76016)
[jira] [Work logged] (HDDS-1619) Support volume addACL operations for OM HA.
[ https://issues.apache.org/jira/browse/HDDS-1619?focusedWorklogId=281256=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-281256 ] ASF GitHub Bot logged work on HDDS-1619: Author: ASF GitHub Bot Created on: 23/Jul/19 19:34 Start Date: 23/Jul/19 19:34 Worklog Time Spent: 10m Work Description: xiaoyuyao commented on pull request #1147: HDDS-1619. Support volume addACL operations for OM HA. Contributed by… URL: https://github.com/apache/hadoop/pull/1147 This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org Issue Time Tracking --- Worklog Id: (was: 281256) Time Spent: 10m Remaining Estimate: 0h > Support volume addACL operations for OM HA. > --- > > Key: HDDS-1619 > URL: https://issues.apache.org/jira/browse/HDDS-1619 > Project: Hadoop Distributed Data Store > Issue Type: Sub-task >Reporter: Ajay Kumar >Assignee: Xiaoyu Yao >Priority: Major > Labels: pull-request-available > Time Spent: 10m > Remaining Estimate: 0h > > [HDDS-1539] adds 4 new api for Ozone rpc client. OM HA implementation needs > to handle them. -- This message was sent by Atlassian JIRA (v7.6.14#76016) - To unsubscribe, e-mail: hdfs-issues-unsubscr...@hadoop.apache.org For additional commands, e-mail: hdfs-issues-h...@hadoop.apache.org