[
https://issues.apache.org/jira/browse/YARN-8405?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16505866#comment-16505866
]
Rohith Sharma K S commented on YARN-8405:
-----------------------------------------
thanks [~elgoiri] for the patch.
# Since ZKCuratorManager is in util class, changing public API would be an
issue. Instead of changing existing API, we can add new method with
_createRootDirRecursively(String path, List<ACL> zkAcl)_
bq. do you have a test proposal?
You can change permission values to verify it. Note that
TestZKRMStateStore#testZKRootPathAcls verifies for /rmstore/ZKRMStateRoot but
not to /rmstore. Below is the test code that fails without patch.
{code}
diff --git
a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/recovery/TestZKRMStateStore.java
b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/recovery/TestZKRMStateStore.java
index 4cba2664d15..6c421157158 100644
---
a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/recovery/TestZKRMStateStore.java
+++
b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/recovery/TestZKRMStateStore.java
@@ -419,13 +419,14 @@ private static boolean verifyZKACL(String id, String
scheme, int perm,
public void testZKRootPathAcls() throws Exception {
StateChangeRequestInfo req = new StateChangeRequestInfo(
HAServiceProtocol.RequestSource.REQUEST_BY_USER);
- String rootPath =
- YarnConfiguration.DEFAULT_ZK_RM_STATE_STORE_PARENT_PATH + "/" +
- ZKRMStateStore.ROOT_ZNODE_NAME;
+ String parentPath =
YarnConfiguration.DEFAULT_ZK_RM_STATE_STORE_PARENT_PATH;
+ String rootPath = parentPath + "/" + ZKRMStateStore.ROOT_ZNODE_NAME;
// Start RM with HA enabled
Configuration conf =
createHARMConf("rm1,rm2", "rm1", 1234, false, curatorTestingServer);
+ conf.set(YarnConfiguration.RM_ZK_ACL, "world:anyone:rwca");
+ int perm = 23;// rwca=1+2+4+16
ResourceManager rm = new MockRM(conf);
rm.start();
rm.getRMContext().getRMAdminService().transitionToActive(req);
@@ -436,10 +437,16 @@ public void testZKRootPathAcls() throws Exception {
verifyZKACL("digest", "localhost", Perms.CREATE | Perms.DELETE, acls);
verifyZKACL(
"world", "anyone", Perms.ALL ^ (Perms.CREATE | Perms.DELETE), acls);
+
+ acls =
+ ((ZKRMStateStore)
rm.getRMContext().getStateStore()).getACL(parentPath);
+ assertEquals(1, acls.size());
+ assertEquals(perm, acls.get(0).getPerms());
rm.close();
// Now start RM with HA disabled. NoAuth Exception should not be thrown.
conf.setBoolean(YarnConfiguration.RM_HA_ENABLED, false);
+ conf.set(YarnConfiguration.RM_ZK_ACL, YarnConfiguration.DEFAULT_RM_ZK_ACL);
rm = new MockRM(conf);
rm.start();
rm.getRMContext().getRMAdminService().transitionToActive(req);
{code}
> RM zk-state-store.parent-path ACLs has been changed since HADOOP-14773
> ----------------------------------------------------------------------
>
> Key: YARN-8405
> URL: https://issues.apache.org/jira/browse/YARN-8405
> Project: Hadoop YARN
> Issue Type: Bug
> Affects Versions: 2.9.0, 3.1.0
> Reporter: Rohith Sharma K S
> Priority: Major
> Attachments: YARN-8405.000.patch, YARN-8405.001.patch,
> YARN-8405.002.patch
>
>
> HADOOP-14773 changes the ACL for
> yarn.resourcemanager.zk-state-store.parent-path. Earlier to HADOOP-14773,
> /rmstore used set acls with yarn.resourcemanager.zk-acl value. But now
> behavior changed from setting acls to parent node. As a result, parent node
> /rmstore is set to default acl.
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]