[jira] [Commented] (ZOOKEEPER-2804) Node creation fails with NPE if ACLs are null
[ https://issues.apache.org/jira/browse/ZOOKEEPER-2804?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16133784#comment-16133784 ] Hudson commented on ZOOKEEPER-2804: --- FAILURE: Integrated in Jenkins build ZooKeeper-trunk #3504 (See [https://builds.apache.org/job/ZooKeeper-trunk/3504/]) ZOOKEEPER-2804: Node creation fails with NPE if ACLs are null (hanm: rev d7c192c1829cc657d3312f47ecb5b97519d1b30d) * (edit) src/java/main/org/apache/zookeeper/ZooKeeper.java * (edit) src/java/main/org/apache/zookeeper/server/PrepRequestProcessor.java * (edit) src/java/test/org/apache/zookeeper/test/ACLTest.java > Node creation fails with NPE if ACLs are null > - > > Key: ZOOKEEPER-2804 > URL: https://issues.apache.org/jira/browse/ZOOKEEPER-2804 > Project: ZooKeeper > Issue Type: Bug >Reporter: Bhupendra Kumar Jain >Assignee: Bhupendra Kumar Jain > Fix For: 3.6.0 > > > If null ACLs are passed then zk node creation or set ACL fails with NPE > {code} > java.lang.NullPointerException > at > org.apache.zookeeper.server.PrepRequestProcessor.removeDuplicates(PrepRequestProcessor.java:1301) > at > org.apache.zookeeper.server.PrepRequestProcessor.fixupACL(PrepRequestProcessor.java:1341) > at > org.apache.zookeeper.server.PrepRequestProcessor.pRequest2Txn(PrepRequestProcessor.java:519) > at > org.apache.zookeeper.server.PrepRequestProcessor.pRequest(PrepRequestProcessor.java:1126) > at > org.apache.zookeeper.server.PrepRequestProcessor.run(PrepRequestProcessor.java:178) > {code} > Expected to handle null in server and return proper error code to client -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Commented] (ZOOKEEPER-2804) Node creation fails with NPE if ACLs are null
[ https://issues.apache.org/jira/browse/ZOOKEEPER-2804?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16133654#comment-16133654 ] ASF GitHub Bot commented on ZOOKEEPER-2804: --- Github user hanm commented on the issue: https://github.com/apache/zookeeper/pull/279 @jainbhupendra24 merged to master: d7c192c1829cc657d3312f47ecb5b97519d1b30d Do you mind create separate pull requests targeting branch-3.5, and branch-3.4 respectively? The current pull request has merge conflicts with those branches. > Node creation fails with NPE if ACLs are null > - > > Key: ZOOKEEPER-2804 > URL: https://issues.apache.org/jira/browse/ZOOKEEPER-2804 > Project: ZooKeeper > Issue Type: Bug >Reporter: Bhupendra Kumar Jain > > If null ACLs are passed then zk node creation or set ACL fails with NPE > {code} > java.lang.NullPointerException > at > org.apache.zookeeper.server.PrepRequestProcessor.removeDuplicates(PrepRequestProcessor.java:1301) > at > org.apache.zookeeper.server.PrepRequestProcessor.fixupACL(PrepRequestProcessor.java:1341) > at > org.apache.zookeeper.server.PrepRequestProcessor.pRequest2Txn(PrepRequestProcessor.java:519) > at > org.apache.zookeeper.server.PrepRequestProcessor.pRequest(PrepRequestProcessor.java:1126) > at > org.apache.zookeeper.server.PrepRequestProcessor.run(PrepRequestProcessor.java:178) > {code} > Expected to handle null in server and return proper error code to client -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Commented] (ZOOKEEPER-2804) Node creation fails with NPE if ACLs are null
[ https://issues.apache.org/jira/browse/ZOOKEEPER-2804?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16133651#comment-16133651 ] ASF GitHub Bot commented on ZOOKEEPER-2804: --- Github user asfgit closed the pull request at: https://github.com/apache/zookeeper/pull/279 > Node creation fails with NPE if ACLs are null > - > > Key: ZOOKEEPER-2804 > URL: https://issues.apache.org/jira/browse/ZOOKEEPER-2804 > Project: ZooKeeper > Issue Type: Bug >Reporter: Bhupendra Kumar Jain > > If null ACLs are passed then zk node creation or set ACL fails with NPE > {code} > java.lang.NullPointerException > at > org.apache.zookeeper.server.PrepRequestProcessor.removeDuplicates(PrepRequestProcessor.java:1301) > at > org.apache.zookeeper.server.PrepRequestProcessor.fixupACL(PrepRequestProcessor.java:1341) > at > org.apache.zookeeper.server.PrepRequestProcessor.pRequest2Txn(PrepRequestProcessor.java:519) > at > org.apache.zookeeper.server.PrepRequestProcessor.pRequest(PrepRequestProcessor.java:1126) > at > org.apache.zookeeper.server.PrepRequestProcessor.run(PrepRequestProcessor.java:178) > {code} > Expected to handle null in server and return proper error code to client -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Commented] (ZOOKEEPER-2804) Node creation fails with NPE if ACLs are null
[ https://issues.apache.org/jira/browse/ZOOKEEPER-2804?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16133520#comment-16133520 ] Hadoop QA commented on ZOOKEEPER-2804: -- -1 overall. GitHub Pull Request Build +1 @author. The patch does not contain any @author tags. +1 tests included. The patch appears to include 3 new or modified tests. +1 javadoc. The javadoc tool did not generate any warning messages. +1 javac. The applied patch does not increase the total number of javac compiler warnings. +1 findbugs. The patch does not introduce any new Findbugs (version 3.0.1) warnings. +1 release audit. The applied patch does not increase the total number of release audit warnings. -1 core tests. The patch failed core unit tests. +1 contrib tests. The patch passed contrib unit tests. Test results: https://builds.apache.org/job/PreCommit-ZOOKEEPER-github-pr-build/948//testReport/ Findbugs warnings: https://builds.apache.org/job/PreCommit-ZOOKEEPER-github-pr-build/948//artifact/trunk/build/test/findbugs/newPatchFindbugsWarnings.html Console output: https://builds.apache.org/job/PreCommit-ZOOKEEPER-github-pr-build/948//console This message is automatically generated. > Node creation fails with NPE if ACLs are null > - > > Key: ZOOKEEPER-2804 > URL: https://issues.apache.org/jira/browse/ZOOKEEPER-2804 > Project: ZooKeeper > Issue Type: Bug >Reporter: Bhupendra Kumar Jain > > If null ACLs are passed then zk node creation or set ACL fails with NPE > {code} > java.lang.NullPointerException > at > org.apache.zookeeper.server.PrepRequestProcessor.removeDuplicates(PrepRequestProcessor.java:1301) > at > org.apache.zookeeper.server.PrepRequestProcessor.fixupACL(PrepRequestProcessor.java:1341) > at > org.apache.zookeeper.server.PrepRequestProcessor.pRequest2Txn(PrepRequestProcessor.java:519) > at > org.apache.zookeeper.server.PrepRequestProcessor.pRequest(PrepRequestProcessor.java:1126) > at > org.apache.zookeeper.server.PrepRequestProcessor.run(PrepRequestProcessor.java:178) > {code} > Expected to handle null in server and return proper error code to client -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Commented] (ZOOKEEPER-2804) Node creation fails with NPE if ACLs are null
[ https://issues.apache.org/jira/browse/ZOOKEEPER-2804?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16131709#comment-16131709 ] ASF GitHub Bot commented on ZOOKEEPER-2804: --- Github user jainbhupendra24 commented on the issue: https://github.com/apache/zookeeper/pull/279 @hanm , I will update the patch > Node creation fails with NPE if ACLs are null > - > > Key: ZOOKEEPER-2804 > URL: https://issues.apache.org/jira/browse/ZOOKEEPER-2804 > Project: ZooKeeper > Issue Type: Bug >Reporter: Bhupendra Kumar Jain > > If null ACLs are passed then zk node creation or set ACL fails with NPE > {code} > java.lang.NullPointerException > at > org.apache.zookeeper.server.PrepRequestProcessor.removeDuplicates(PrepRequestProcessor.java:1301) > at > org.apache.zookeeper.server.PrepRequestProcessor.fixupACL(PrepRequestProcessor.java:1341) > at > org.apache.zookeeper.server.PrepRequestProcessor.pRequest2Txn(PrepRequestProcessor.java:519) > at > org.apache.zookeeper.server.PrepRequestProcessor.pRequest(PrepRequestProcessor.java:1126) > at > org.apache.zookeeper.server.PrepRequestProcessor.run(PrepRequestProcessor.java:178) > {code} > Expected to handle null in server and return proper error code to client -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Commented] (ZOOKEEPER-2804) Node creation fails with NPE if ACLs are null
[ https://issues.apache.org/jira/browse/ZOOKEEPER-2804?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16131689#comment-16131689 ] ASF GitHub Bot commented on ZOOKEEPER-2804: --- Github user hanm commented on the issue: https://github.com/apache/zookeeper/pull/279 Let's wrap this up before it becoming more stale. I believe the only remaining work item is the last review comment @arshadmohammad made: >> As this Validation we are doing multiple places it would be better if this piece of code is extracted to method. @jainbhupendra24 Do you mind update this pull request and do what Arshad suggested? > Node creation fails with NPE if ACLs are null > - > > Key: ZOOKEEPER-2804 > URL: https://issues.apache.org/jira/browse/ZOOKEEPER-2804 > Project: ZooKeeper > Issue Type: Bug >Reporter: Bhupendra Kumar Jain > > If null ACLs are passed then zk node creation or set ACL fails with NPE > {code} > java.lang.NullPointerException > at > org.apache.zookeeper.server.PrepRequestProcessor.removeDuplicates(PrepRequestProcessor.java:1301) > at > org.apache.zookeeper.server.PrepRequestProcessor.fixupACL(PrepRequestProcessor.java:1341) > at > org.apache.zookeeper.server.PrepRequestProcessor.pRequest2Txn(PrepRequestProcessor.java:519) > at > org.apache.zookeeper.server.PrepRequestProcessor.pRequest(PrepRequestProcessor.java:1126) > at > org.apache.zookeeper.server.PrepRequestProcessor.run(PrepRequestProcessor.java:178) > {code} > Expected to handle null in server and return proper error code to client -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Commented] (ZOOKEEPER-2804) Node creation fails with NPE if ACLs are null
[ https://issues.apache.org/jira/browse/ZOOKEEPER-2804?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16093320#comment-16093320 ] ASF GitHub Bot commented on ZOOKEEPER-2804: --- Github user arshadmohammad commented on a diff in the pull request: https://github.com/apache/zookeeper/pull/279#discussion_r128291070 --- Diff: src/java/main/org/apache/zookeeper/ZooKeeper.java --- @@ -1436,7 +1436,7 @@ public String create(final String path, byte data[], List acl, request.setData(data); request.setFlags(createMode.toFlag()); request.setPath(serverPath); -if (acl != null && acl.size() == 0) { +if (acl == null || acl.isEmpty() || acl.contains(null)) { --- End diff -- Thanks @jainbhupendra24 for the details. We can leave these functions as it is. It is trivial problem we can ignore over the backward compatibility. > Node creation fails with NPE if ACLs are null > - > > Key: ZOOKEEPER-2804 > URL: https://issues.apache.org/jira/browse/ZOOKEEPER-2804 > Project: ZooKeeper > Issue Type: Bug >Reporter: Bhupendra Kumar Jain > > If null ACLs are passed then zk node creation or set ACL fails with NPE > {code} > java.lang.NullPointerException > at > org.apache.zookeeper.server.PrepRequestProcessor.removeDuplicates(PrepRequestProcessor.java:1301) > at > org.apache.zookeeper.server.PrepRequestProcessor.fixupACL(PrepRequestProcessor.java:1341) > at > org.apache.zookeeper.server.PrepRequestProcessor.pRequest2Txn(PrepRequestProcessor.java:519) > at > org.apache.zookeeper.server.PrepRequestProcessor.pRequest(PrepRequestProcessor.java:1126) > at > org.apache.zookeeper.server.PrepRequestProcessor.run(PrepRequestProcessor.java:178) > {code} > Expected to handle null in server and return proper error code to client -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Commented] (ZOOKEEPER-2804) Node creation fails with NPE if ACLs are null
[ https://issues.apache.org/jira/browse/ZOOKEEPER-2804?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16087254#comment-16087254 ] ASF GitHub Bot commented on ZOOKEEPER-2804: --- Github user jainbhupendra24 commented on a diff in the pull request: https://github.com/apache/zookeeper/pull/279#discussion_r127447190 --- Diff: src/java/main/org/apache/zookeeper/ZooKeeper.java --- @@ -1436,7 +1436,7 @@ public String create(final String path, byte data[], List acl, request.setData(data); request.setFlags(createMode.toFlag()); request.setPath(serverPath); -if (acl != null && acl.size() == 0) { +if (acl == null || acl.isEmpty() || acl.contains(null)) { --- End diff -- Throwing IllegalArgumentException is the correct way but it may break the existing behavior. Consider the case where application code is like zk.create(callBackHandler)` // call to create api and callback handler is passed doSomething(); - - - - // some more stuff At present, if client pass null ACL parameter, the error will be handled by callBackHandler and in application code doSomething() method will execute. But if we throw IllegalArgumentException , then doSomething() method will not execute. So it will change the existing behavior of application code. Please suggest if we really need to handle this case. > Node creation fails with NPE if ACLs are null > - > > Key: ZOOKEEPER-2804 > URL: https://issues.apache.org/jira/browse/ZOOKEEPER-2804 > Project: ZooKeeper > Issue Type: Bug >Reporter: Bhupendra Kumar Jain > > If null ACLs are passed then zk node creation or set ACL fails with NPE > {code} > java.lang.NullPointerException > at > org.apache.zookeeper.server.PrepRequestProcessor.removeDuplicates(PrepRequestProcessor.java:1301) > at > org.apache.zookeeper.server.PrepRequestProcessor.fixupACL(PrepRequestProcessor.java:1341) > at > org.apache.zookeeper.server.PrepRequestProcessor.pRequest2Txn(PrepRequestProcessor.java:519) > at > org.apache.zookeeper.server.PrepRequestProcessor.pRequest(PrepRequestProcessor.java:1126) > at > org.apache.zookeeper.server.PrepRequestProcessor.run(PrepRequestProcessor.java:178) > {code} > Expected to handle null in server and return proper error code to client -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Commented] (ZOOKEEPER-2804) Node creation fails with NPE if ACLs are null
[ https://issues.apache.org/jira/browse/ZOOKEEPER-2804?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16081650#comment-16081650 ] ASF GitHub Bot commented on ZOOKEEPER-2804: --- Github user hanm commented on the issue: https://github.com/apache/zookeeper/pull/279 >> Please refer the null check added in PrepRequestProcessor class in server side to safeguard against NPE. @jainbhupendra24 thanks for clarification. > Node creation fails with NPE if ACLs are null > - > > Key: ZOOKEEPER-2804 > URL: https://issues.apache.org/jira/browse/ZOOKEEPER-2804 > Project: ZooKeeper > Issue Type: Bug >Reporter: Bhupendra Kumar Jain > > If null ACLs are passed then zk node creation or set ACL fails with NPE > {code} > java.lang.NullPointerException > at > org.apache.zookeeper.server.PrepRequestProcessor.removeDuplicates(PrepRequestProcessor.java:1301) > at > org.apache.zookeeper.server.PrepRequestProcessor.fixupACL(PrepRequestProcessor.java:1341) > at > org.apache.zookeeper.server.PrepRequestProcessor.pRequest2Txn(PrepRequestProcessor.java:519) > at > org.apache.zookeeper.server.PrepRequestProcessor.pRequest(PrepRequestProcessor.java:1126) > at > org.apache.zookeeper.server.PrepRequestProcessor.run(PrepRequestProcessor.java:178) > {code} > Expected to handle null in server and return proper error code to client -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Commented] (ZOOKEEPER-2804) Node creation fails with NPE if ACLs are null
[ https://issues.apache.org/jira/browse/ZOOKEEPER-2804?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16081647#comment-16081647 ] ASF GitHub Bot commented on ZOOKEEPER-2804: --- Github user hanm commented on a diff in the pull request: https://github.com/apache/zookeeper/pull/279#discussion_r126593104 --- Diff: src/java/main/org/apache/zookeeper/ZooKeeper.java --- @@ -1436,7 +1436,7 @@ public String create(final String path, byte data[], List acl, request.setData(data); request.setFlags(createMode.toFlag()); request.setPath(serverPath); -if (acl != null && acl.size() == 0) { +if (acl == null || acl.isEmpty() || acl.contains(null)) { --- End diff -- +1 on this. We can throw IllegalArgumentException instead of KeeperException (which would change API signature) on async methods. It's good to catch the bad arguments at client side. > Node creation fails with NPE if ACLs are null > - > > Key: ZOOKEEPER-2804 > URL: https://issues.apache.org/jira/browse/ZOOKEEPER-2804 > Project: ZooKeeper > Issue Type: Bug >Reporter: Bhupendra Kumar Jain > > If null ACLs are passed then zk node creation or set ACL fails with NPE > {code} > java.lang.NullPointerException > at > org.apache.zookeeper.server.PrepRequestProcessor.removeDuplicates(PrepRequestProcessor.java:1301) > at > org.apache.zookeeper.server.PrepRequestProcessor.fixupACL(PrepRequestProcessor.java:1341) > at > org.apache.zookeeper.server.PrepRequestProcessor.pRequest2Txn(PrepRequestProcessor.java:519) > at > org.apache.zookeeper.server.PrepRequestProcessor.pRequest(PrepRequestProcessor.java:1126) > at > org.apache.zookeeper.server.PrepRequestProcessor.run(PrepRequestProcessor.java:178) > {code} > Expected to handle null in server and return proper error code to client -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Commented] (ZOOKEEPER-2804) Node creation fails with NPE if ACLs are null
[ https://issues.apache.org/jira/browse/ZOOKEEPER-2804?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16080667#comment-16080667 ] ASF GitHub Bot commented on ZOOKEEPER-2804: --- Github user arshadmohammad commented on a diff in the pull request: https://github.com/apache/zookeeper/pull/279#discussion_r126482088 --- Diff: src/java/main/org/apache/zookeeper/ZooKeeper.java --- @@ -1535,7 +1535,7 @@ public String create(final String path, byte data[], List acl, RequestHeader h = new RequestHeader(); setCreateHeader(createMode, h); Create2Response response = new Create2Response(); -if (acl != null && acl.size() == 0) { +if (acl == null || acl.isEmpty() || acl.contains(null)) { --- End diff -- As this Validation we are doing multiple places it would be better if this piece of code is extracted to method. Some thing like ` private void validateACL(List acl) throws InvalidACLException { if (acl == null || acl.isEmpty() || acl.contains(null)) { throw new KeeperException.InvalidACLException(); } }` and put this method along with other validation methods for example ` PathUtils.validatePath(clientPath, createMode.isSequential()); EphemeralType.validateTTL(createMode, -1); validateACL(acl); ` > Node creation fails with NPE if ACLs are null > - > > Key: ZOOKEEPER-2804 > URL: https://issues.apache.org/jira/browse/ZOOKEEPER-2804 > Project: ZooKeeper > Issue Type: Bug >Reporter: Bhupendra Kumar Jain > > If null ACLs are passed then zk node creation or set ACL fails with NPE > {code} > java.lang.NullPointerException > at > org.apache.zookeeper.server.PrepRequestProcessor.removeDuplicates(PrepRequestProcessor.java:1301) > at > org.apache.zookeeper.server.PrepRequestProcessor.fixupACL(PrepRequestProcessor.java:1341) > at > org.apache.zookeeper.server.PrepRequestProcessor.pRequest2Txn(PrepRequestProcessor.java:519) > at > org.apache.zookeeper.server.PrepRequestProcessor.pRequest(PrepRequestProcessor.java:1126) > at > org.apache.zookeeper.server.PrepRequestProcessor.run(PrepRequestProcessor.java:178) > {code} > Expected to handle null in server and return proper error code to client -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Commented] (ZOOKEEPER-2804) Node creation fails with NPE if ACLs are null
[ https://issues.apache.org/jira/browse/ZOOKEEPER-2804?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16080660#comment-16080660 ] ASF GitHub Bot commented on ZOOKEEPER-2804: --- Github user arshadmohammad commented on a diff in the pull request: https://github.com/apache/zookeeper/pull/279#discussion_r126481060 --- Diff: src/java/main/org/apache/zookeeper/ZooKeeper.java --- @@ -1436,7 +1436,7 @@ public String create(final String path, byte data[], List acl, request.setData(data); request.setFlags(createMode.toFlag()); request.setPath(serverPath); -if (acl != null && acl.size() == 0) { +if (acl == null || acl.isEmpty() || acl.contains(null)) { --- End diff -- These validations should also be applied on async create APIs 1. org.apache.zookeeper.ZooKeeper.create(String, byte[], List, CreateMode, Create2Callback, Object, long) 2. org.apache.zookeeper.ZooKeeper.create(String, byte[], List, CreateMode, StringCallback, Object) > Node creation fails with NPE if ACLs are null > - > > Key: ZOOKEEPER-2804 > URL: https://issues.apache.org/jira/browse/ZOOKEEPER-2804 > Project: ZooKeeper > Issue Type: Bug >Reporter: Bhupendra Kumar Jain > > If null ACLs are passed then zk node creation or set ACL fails with NPE > {code} > java.lang.NullPointerException > at > org.apache.zookeeper.server.PrepRequestProcessor.removeDuplicates(PrepRequestProcessor.java:1301) > at > org.apache.zookeeper.server.PrepRequestProcessor.fixupACL(PrepRequestProcessor.java:1341) > at > org.apache.zookeeper.server.PrepRequestProcessor.pRequest2Txn(PrepRequestProcessor.java:519) > at > org.apache.zookeeper.server.PrepRequestProcessor.pRequest(PrepRequestProcessor.java:1126) > at > org.apache.zookeeper.server.PrepRequestProcessor.run(PrepRequestProcessor.java:178) > {code} > Expected to handle null in server and return proper error code to client -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Commented] (ZOOKEEPER-2804) Node creation fails with NPE if ACLs are null
[ https://issues.apache.org/jira/browse/ZOOKEEPER-2804?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16079864#comment-16079864 ] ASF GitHub Bot commented on ZOOKEEPER-2804: --- Github user jainbhupendra24 commented on the issue: https://github.com/apache/zookeeper/pull/279 @hanm , Please refer the null check added in PrepRequestProcessor class in server side to safeguard against NPE. Client side null check is added for early validation and early feedback to the user. > Node creation fails with NPE if ACLs are null > - > > Key: ZOOKEEPER-2804 > URL: https://issues.apache.org/jira/browse/ZOOKEEPER-2804 > Project: ZooKeeper > Issue Type: Bug >Reporter: Bhupendra Kumar Jain > > If null ACLs are passed then zk node creation or set ACL fails with NPE > {code} > java.lang.NullPointerException > at > org.apache.zookeeper.server.PrepRequestProcessor.removeDuplicates(PrepRequestProcessor.java:1301) > at > org.apache.zookeeper.server.PrepRequestProcessor.fixupACL(PrepRequestProcessor.java:1341) > at > org.apache.zookeeper.server.PrepRequestProcessor.pRequest2Txn(PrepRequestProcessor.java:519) > at > org.apache.zookeeper.server.PrepRequestProcessor.pRequest(PrepRequestProcessor.java:1126) > at > org.apache.zookeeper.server.PrepRequestProcessor.run(PrepRequestProcessor.java:178) > {code} > Expected to handle null in server and return proper error code to client -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Commented] (ZOOKEEPER-2804) Node creation fails with NPE if ACLs are null
[ https://issues.apache.org/jira/browse/ZOOKEEPER-2804?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16079859#comment-16079859 ] ASF GitHub Bot commented on ZOOKEEPER-2804: --- Github user jainbhupendra24 commented on a diff in the pull request: https://github.com/apache/zookeeper/pull/279#discussion_r126334642 --- Diff: src/java/test/org/apache/zookeeper/test/ACLTest.java --- @@ -189,4 +191,110 @@ public void process(WatchedEvent event) { } } } + +@Test +public void testNullACL() throws Exception { +File tmpDir = ClientBase.createTmpDir(); +ClientBase.setupTestEnv(); +ZooKeeperServer zks = new ZooKeeperServer(tmpDir, tmpDir, 3000); +final int PORT = Integer.parseInt(HOSTPORT.split(":")[1]); +ServerCnxnFactory f = ServerCnxnFactory.createFactory(PORT, -1); +f.startup(zks); +ZooKeeper zk = ClientBase.createZKClient(HOSTPORT); +try { +// case 1 : null ACL with create +try { +zk.create("/foo", "foo".getBytes(), null, CreateMode.PERSISTENT); --- End diff -- OK , will make these changes > Node creation fails with NPE if ACLs are null > - > > Key: ZOOKEEPER-2804 > URL: https://issues.apache.org/jira/browse/ZOOKEEPER-2804 > Project: ZooKeeper > Issue Type: Bug >Reporter: Bhupendra Kumar Jain > > If null ACLs are passed then zk node creation or set ACL fails with NPE > {code} > java.lang.NullPointerException > at > org.apache.zookeeper.server.PrepRequestProcessor.removeDuplicates(PrepRequestProcessor.java:1301) > at > org.apache.zookeeper.server.PrepRequestProcessor.fixupACL(PrepRequestProcessor.java:1341) > at > org.apache.zookeeper.server.PrepRequestProcessor.pRequest2Txn(PrepRequestProcessor.java:519) > at > org.apache.zookeeper.server.PrepRequestProcessor.pRequest(PrepRequestProcessor.java:1126) > at > org.apache.zookeeper.server.PrepRequestProcessor.run(PrepRequestProcessor.java:178) > {code} > Expected to handle null in server and return proper error code to client -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Commented] (ZOOKEEPER-2804) Node creation fails with NPE if ACLs are null
[ https://issues.apache.org/jira/browse/ZOOKEEPER-2804?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16079316#comment-16079316 ] ASF GitHub Bot commented on ZOOKEEPER-2804: --- Github user hanm commented on a diff in the pull request: https://github.com/apache/zookeeper/pull/279#discussion_r126290078 --- Diff: src/java/test/org/apache/zookeeper/test/ACLTest.java --- @@ -189,4 +191,110 @@ public void process(WatchedEvent event) { } } } + +@Test +public void testNullACL() throws Exception { +File tmpDir = ClientBase.createTmpDir(); +ClientBase.setupTestEnv(); +ZooKeeperServer zks = new ZooKeeperServer(tmpDir, tmpDir, 3000); +final int PORT = Integer.parseInt(HOSTPORT.split(":")[1]); +ServerCnxnFactory f = ServerCnxnFactory.createFactory(PORT, -1); +f.startup(zks); +ZooKeeper zk = ClientBase.createZKClient(HOSTPORT); +try { +// case 1 : null ACL with create +try { +zk.create("/foo", "foo".getBytes(), null, CreateMode.PERSISTENT); --- End diff -- All tests can be consolidated into a single try block to avoid duplicate the boilerplate code. > Node creation fails with NPE if ACLs are null > - > > Key: ZOOKEEPER-2804 > URL: https://issues.apache.org/jira/browse/ZOOKEEPER-2804 > Project: ZooKeeper > Issue Type: Bug >Reporter: Bhupendra Kumar Jain > > If null ACLs are passed then zk node creation or set ACL fails with NPE > {code} > java.lang.NullPointerException > at > org.apache.zookeeper.server.PrepRequestProcessor.removeDuplicates(PrepRequestProcessor.java:1301) > at > org.apache.zookeeper.server.PrepRequestProcessor.fixupACL(PrepRequestProcessor.java:1341) > at > org.apache.zookeeper.server.PrepRequestProcessor.pRequest2Txn(PrepRequestProcessor.java:519) > at > org.apache.zookeeper.server.PrepRequestProcessor.pRequest(PrepRequestProcessor.java:1126) > at > org.apache.zookeeper.server.PrepRequestProcessor.run(PrepRequestProcessor.java:178) > {code} > Expected to handle null in server and return proper error code to client -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Commented] (ZOOKEEPER-2804) Node creation fails with NPE if ACLs are null
[ https://issues.apache.org/jira/browse/ZOOKEEPER-2804?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16079314#comment-16079314 ] ASF GitHub Bot commented on ZOOKEEPER-2804: --- Github user hanm commented on the issue: https://github.com/apache/zookeeper/pull/279 I am still not sure what this is about - there is no code change on server (ZooKeeper.java is part of client library). >> Handled Null case in server. Client will get InvalidACLException Please update PR description to clarify this - either remove this or mention it's a client side change. PR description will be part of commit message so please keep it accurate. > Node creation fails with NPE if ACLs are null > - > > Key: ZOOKEEPER-2804 > URL: https://issues.apache.org/jira/browse/ZOOKEEPER-2804 > Project: ZooKeeper > Issue Type: Bug >Reporter: Bhupendra Kumar Jain > > If null ACLs are passed then zk node creation or set ACL fails with NPE > {code} > java.lang.NullPointerException > at > org.apache.zookeeper.server.PrepRequestProcessor.removeDuplicates(PrepRequestProcessor.java:1301) > at > org.apache.zookeeper.server.PrepRequestProcessor.fixupACL(PrepRequestProcessor.java:1341) > at > org.apache.zookeeper.server.PrepRequestProcessor.pRequest2Txn(PrepRequestProcessor.java:519) > at > org.apache.zookeeper.server.PrepRequestProcessor.pRequest(PrepRequestProcessor.java:1126) > at > org.apache.zookeeper.server.PrepRequestProcessor.run(PrepRequestProcessor.java:178) > {code} > Expected to handle null in server and return proper error code to client -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Commented] (ZOOKEEPER-2804) Node creation fails with NPE if ACLs are null
[ https://issues.apache.org/jira/browse/ZOOKEEPER-2804?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16077850#comment-16077850 ] ASF GitHub Bot commented on ZOOKEEPER-2804: --- Github user jainbhupendra24 commented on the issue: https://github.com/apache/zookeeper/pull/279 Comments are replied and updated in latest patch. Please review > Node creation fails with NPE if ACLs are null > - > > Key: ZOOKEEPER-2804 > URL: https://issues.apache.org/jira/browse/ZOOKEEPER-2804 > Project: ZooKeeper > Issue Type: Bug >Reporter: Bhupendra Kumar Jain > > If null ACLs are passed then zk node creation or set ACL fails with NPE > {code} > java.lang.NullPointerException > at > org.apache.zookeeper.server.PrepRequestProcessor.removeDuplicates(PrepRequestProcessor.java:1301) > at > org.apache.zookeeper.server.PrepRequestProcessor.fixupACL(PrepRequestProcessor.java:1341) > at > org.apache.zookeeper.server.PrepRequestProcessor.pRequest2Txn(PrepRequestProcessor.java:519) > at > org.apache.zookeeper.server.PrepRequestProcessor.pRequest(PrepRequestProcessor.java:1126) > at > org.apache.zookeeper.server.PrepRequestProcessor.run(PrepRequestProcessor.java:178) > {code} > Expected to handle null in server and return proper error code to client -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Commented] (ZOOKEEPER-2804) Node creation fails with NPE if ACLs are null
[ https://issues.apache.org/jira/browse/ZOOKEEPER-2804?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16076358#comment-16076358 ] Hadoop QA commented on ZOOKEEPER-2804: -- +1 overall. GitHub Pull Request Build +1 @author. The patch does not contain any @author tags. +1 tests included. The patch appears to include 3 new or modified tests. +1 javadoc. The javadoc tool did not generate any warning messages. +1 javac. The applied patch does not increase the total number of javac compiler warnings. +1 findbugs. The patch does not introduce any new Findbugs (version 3.0.1) warnings. +1 release audit. The applied patch does not increase the total number of release audit warnings. +1 core tests. The patch passed core unit tests. +1 contrib tests. The patch passed contrib unit tests. Test results: https://builds.apache.org/job/PreCommit-ZOOKEEPER-github-pr-build/864//testReport/ Findbugs warnings: https://builds.apache.org/job/PreCommit-ZOOKEEPER-github-pr-build/864//artifact/trunk/build/test/findbugs/newPatchFindbugsWarnings.html Console output: https://builds.apache.org/job/PreCommit-ZOOKEEPER-github-pr-build/864//console This message is automatically generated. > Node creation fails with NPE if ACLs are null > - > > Key: ZOOKEEPER-2804 > URL: https://issues.apache.org/jira/browse/ZOOKEEPER-2804 > Project: ZooKeeper > Issue Type: Bug >Reporter: Bhupendra Kumar Jain > > If null ACLs are passed then zk node creation or set ACL fails with NPE > {code} > java.lang.NullPointerException > at > org.apache.zookeeper.server.PrepRequestProcessor.removeDuplicates(PrepRequestProcessor.java:1301) > at > org.apache.zookeeper.server.PrepRequestProcessor.fixupACL(PrepRequestProcessor.java:1341) > at > org.apache.zookeeper.server.PrepRequestProcessor.pRequest2Txn(PrepRequestProcessor.java:519) > at > org.apache.zookeeper.server.PrepRequestProcessor.pRequest(PrepRequestProcessor.java:1126) > at > org.apache.zookeeper.server.PrepRequestProcessor.run(PrepRequestProcessor.java:178) > {code} > Expected to handle null in server and return proper error code to client -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Commented] (ZOOKEEPER-2804) Node creation fails with NPE if ACLs are null
[ https://issues.apache.org/jira/browse/ZOOKEEPER-2804?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16071946#comment-16071946 ] ASF GitHub Bot commented on ZOOKEEPER-2804: --- Github user jainbhupendra24 commented on the issue: https://github.com/apache/zookeeper/pull/279 All review comments are taken care. Please review. > Node creation fails with NPE if ACLs are null > - > > Key: ZOOKEEPER-2804 > URL: https://issues.apache.org/jira/browse/ZOOKEEPER-2804 > Project: ZooKeeper > Issue Type: Bug >Reporter: Bhupendra Kumar Jain > > If null ACLs are passed then zk node creation or set ACL fails with NPE > {code} > java.lang.NullPointerException > at > org.apache.zookeeper.server.PrepRequestProcessor.removeDuplicates(PrepRequestProcessor.java:1301) > at > org.apache.zookeeper.server.PrepRequestProcessor.fixupACL(PrepRequestProcessor.java:1341) > at > org.apache.zookeeper.server.PrepRequestProcessor.pRequest2Txn(PrepRequestProcessor.java:519) > at > org.apache.zookeeper.server.PrepRequestProcessor.pRequest(PrepRequestProcessor.java:1126) > at > org.apache.zookeeper.server.PrepRequestProcessor.run(PrepRequestProcessor.java:178) > {code} > Expected to handle null in server and return proper error code to client -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Commented] (ZOOKEEPER-2804) Node creation fails with NPE if ACLs are null
[ https://issues.apache.org/jira/browse/ZOOKEEPER-2804?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16071425#comment-16071425 ] Hadoop QA commented on ZOOKEEPER-2804: -- +1 overall. GitHub Pull Request Build +1 @author. The patch does not contain any @author tags. +1 tests included. The patch appears to include 3 new or modified tests. +1 javadoc. The javadoc tool did not generate any warning messages. +1 javac. The applied patch does not increase the total number of javac compiler warnings. +1 findbugs. The patch does not introduce any new Findbugs (version 3.0.1) warnings. +1 release audit. The applied patch does not increase the total number of release audit warnings. +1 core tests. The patch passed core unit tests. +1 contrib tests. The patch passed contrib unit tests. Test results: https://builds.apache.org/job/PreCommit-ZOOKEEPER-github-pr-build/850//testReport/ Findbugs warnings: https://builds.apache.org/job/PreCommit-ZOOKEEPER-github-pr-build/850//artifact/trunk/build/test/findbugs/newPatchFindbugsWarnings.html Console output: https://builds.apache.org/job/PreCommit-ZOOKEEPER-github-pr-build/850//console This message is automatically generated. > Node creation fails with NPE if ACLs are null > - > > Key: ZOOKEEPER-2804 > URL: https://issues.apache.org/jira/browse/ZOOKEEPER-2804 > Project: ZooKeeper > Issue Type: Bug >Reporter: Bhupendra Kumar Jain > > If null ACLs are passed then zk node creation or set ACL fails with NPE > {code} > java.lang.NullPointerException > at > org.apache.zookeeper.server.PrepRequestProcessor.removeDuplicates(PrepRequestProcessor.java:1301) > at > org.apache.zookeeper.server.PrepRequestProcessor.fixupACL(PrepRequestProcessor.java:1341) > at > org.apache.zookeeper.server.PrepRequestProcessor.pRequest2Txn(PrepRequestProcessor.java:519) > at > org.apache.zookeeper.server.PrepRequestProcessor.pRequest(PrepRequestProcessor.java:1126) > at > org.apache.zookeeper.server.PrepRequestProcessor.run(PrepRequestProcessor.java:178) > {code} > Expected to handle null in server and return proper error code to client -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Commented] (ZOOKEEPER-2804) Node creation fails with NPE if ACLs are null
[ https://issues.apache.org/jira/browse/ZOOKEEPER-2804?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16062444#comment-16062444 ] ASF GitHub Bot commented on ZOOKEEPER-2804: --- Github user hanm commented on the issue: https://github.com/apache/zookeeper/pull/279 Please also avoid unnecessary file permission changes (100644 → 100755 as indicated by git diff). Also a rebase is required as this PR is conflicting with https://github.com/apache/zookeeper/pull/288/ that's just merged in. > Node creation fails with NPE if ACLs are null > - > > Key: ZOOKEEPER-2804 > URL: https://issues.apache.org/jira/browse/ZOOKEEPER-2804 > Project: ZooKeeper > Issue Type: Bug >Reporter: Bhupendra Kumar Jain > > If null ACLs are passed then zk node creation or set ACL fails with NPE > {code} > java.lang.NullPointerException > at > org.apache.zookeeper.server.PrepRequestProcessor.removeDuplicates(PrepRequestProcessor.java:1301) > at > org.apache.zookeeper.server.PrepRequestProcessor.fixupACL(PrepRequestProcessor.java:1341) > at > org.apache.zookeeper.server.PrepRequestProcessor.pRequest2Txn(PrepRequestProcessor.java:519) > at > org.apache.zookeeper.server.PrepRequestProcessor.pRequest(PrepRequestProcessor.java:1126) > at > org.apache.zookeeper.server.PrepRequestProcessor.run(PrepRequestProcessor.java:178) > {code} > Expected to handle null in server and return proper error code to client -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Commented] (ZOOKEEPER-2804) Node creation fails with NPE if ACLs are null
[ https://issues.apache.org/jira/browse/ZOOKEEPER-2804?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16062442#comment-16062442 ] ASF GitHub Bot commented on ZOOKEEPER-2804: --- Github user hanm commented on the issue: https://github.com/apache/zookeeper/pull/279 >> Handled Null case in server. Client will get InvalidACLException I don't see what code changes included in this patch that's corresponding to this. Maybe some changes were not uploaded? > Node creation fails with NPE if ACLs are null > - > > Key: ZOOKEEPER-2804 > URL: https://issues.apache.org/jira/browse/ZOOKEEPER-2804 > Project: ZooKeeper > Issue Type: Bug >Reporter: Bhupendra Kumar Jain > > If null ACLs are passed then zk node creation or set ACL fails with NPE > {code} > java.lang.NullPointerException > at > org.apache.zookeeper.server.PrepRequestProcessor.removeDuplicates(PrepRequestProcessor.java:1301) > at > org.apache.zookeeper.server.PrepRequestProcessor.fixupACL(PrepRequestProcessor.java:1341) > at > org.apache.zookeeper.server.PrepRequestProcessor.pRequest2Txn(PrepRequestProcessor.java:519) > at > org.apache.zookeeper.server.PrepRequestProcessor.pRequest(PrepRequestProcessor.java:1126) > at > org.apache.zookeeper.server.PrepRequestProcessor.run(PrepRequestProcessor.java:178) > {code} > Expected to handle null in server and return proper error code to client -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Commented] (ZOOKEEPER-2804) Node creation fails with NPE if ACLs are null
[ https://issues.apache.org/jira/browse/ZOOKEEPER-2804?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16059390#comment-16059390 ] ASF GitHub Bot commented on ZOOKEEPER-2804: --- Github user jainbhupendra24 commented on the issue: https://github.com/apache/zookeeper/pull/279 All comments are addressed and CI failure is not related to this change. Please review. > Node creation fails with NPE if ACLs are null > - > > Key: ZOOKEEPER-2804 > URL: https://issues.apache.org/jira/browse/ZOOKEEPER-2804 > Project: ZooKeeper > Issue Type: Bug >Reporter: Bhupendra Kumar Jain > > If null ACLs are passed then zk node creation or set ACL fails with NPE > {code} > java.lang.NullPointerException > at > org.apache.zookeeper.server.PrepRequestProcessor.removeDuplicates(PrepRequestProcessor.java:1301) > at > org.apache.zookeeper.server.PrepRequestProcessor.fixupACL(PrepRequestProcessor.java:1341) > at > org.apache.zookeeper.server.PrepRequestProcessor.pRequest2Txn(PrepRequestProcessor.java:519) > at > org.apache.zookeeper.server.PrepRequestProcessor.pRequest(PrepRequestProcessor.java:1126) > at > org.apache.zookeeper.server.PrepRequestProcessor.run(PrepRequestProcessor.java:178) > {code} > Expected to handle null in server and return proper error code to client -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Commented] (ZOOKEEPER-2804) Node creation fails with NPE if ACLs are null
[ https://issues.apache.org/jira/browse/ZOOKEEPER-2804?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16058110#comment-16058110 ] Hadoop QA commented on ZOOKEEPER-2804: -- -1 overall. GitHub Pull Request Build +1 @author. The patch does not contain any @author tags. +1 tests included. The patch appears to include 3 new or modified tests. +1 javadoc. The javadoc tool did not generate any warning messages. +1 javac. The applied patch does not increase the total number of javac compiler warnings. +1 findbugs. The patch does not introduce any new Findbugs (version 3.0.1) warnings. +1 release audit. The applied patch does not increase the total number of release audit warnings. -1 core tests. The patch failed core unit tests. +1 contrib tests. The patch passed contrib unit tests. Test results: https://builds.apache.org/job/PreCommit-ZOOKEEPER-github-pr-build/819//testReport/ Findbugs warnings: https://builds.apache.org/job/PreCommit-ZOOKEEPER-github-pr-build/819//artifact/trunk/build/test/findbugs/newPatchFindbugsWarnings.html Console output: https://builds.apache.org/job/PreCommit-ZOOKEEPER-github-pr-build/819//console This message is automatically generated. > Node creation fails with NPE if ACLs are null > - > > Key: ZOOKEEPER-2804 > URL: https://issues.apache.org/jira/browse/ZOOKEEPER-2804 > Project: ZooKeeper > Issue Type: Bug >Reporter: Bhupendra Kumar Jain > > If null ACLs are passed then zk node creation or set ACL fails with NPE > {code} > java.lang.NullPointerException > at > org.apache.zookeeper.server.PrepRequestProcessor.removeDuplicates(PrepRequestProcessor.java:1301) > at > org.apache.zookeeper.server.PrepRequestProcessor.fixupACL(PrepRequestProcessor.java:1341) > at > org.apache.zookeeper.server.PrepRequestProcessor.pRequest2Txn(PrepRequestProcessor.java:519) > at > org.apache.zookeeper.server.PrepRequestProcessor.pRequest(PrepRequestProcessor.java:1126) > at > org.apache.zookeeper.server.PrepRequestProcessor.run(PrepRequestProcessor.java:178) > {code} > Expected to handle null in server and return proper error code to client -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Commented] (ZOOKEEPER-2804) Node creation fails with NPE if ACLs are null
[ https://issues.apache.org/jira/browse/ZOOKEEPER-2804?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16048178#comment-16048178 ] ASF GitHub Bot commented on ZOOKEEPER-2804: --- Github user eribeiro commented on a diff in the pull request: https://github.com/apache/zookeeper/pull/279#discussion_r121751200 --- Diff: src/java/main/org/apache/zookeeper/server/PrepRequestProcessor.java --- @@ -915,11 +915,13 @@ protected void pRequest(Request request) throws RequestProcessorException { private List removeDuplicates(List acl) { ArrayList retval = new ArrayList(); -Iterator it = acl.iterator(); -while (it.hasNext()) { -ACL a = it.next(); -if (retval.contains(a) == false) { -retval.add(a); +if(acl != null) { --- End diff -- If we are going to keep the code we can at least modernize it a bit as below: ``` for (ACL a : acl) { if (!retval.contains(a)) { retval.add(a); } } ``` > Node creation fails with NPE if ACLs are null > - > > Key: ZOOKEEPER-2804 > URL: https://issues.apache.org/jira/browse/ZOOKEEPER-2804 > Project: ZooKeeper > Issue Type: Bug >Reporter: Bhupendra Kumar Jain > > If null ACLs are passed then zk node creation or set ACL fails with NPE > {code} > java.lang.NullPointerException > at > org.apache.zookeeper.server.PrepRequestProcessor.removeDuplicates(PrepRequestProcessor.java:1301) > at > org.apache.zookeeper.server.PrepRequestProcessor.fixupACL(PrepRequestProcessor.java:1341) > at > org.apache.zookeeper.server.PrepRequestProcessor.pRequest2Txn(PrepRequestProcessor.java:519) > at > org.apache.zookeeper.server.PrepRequestProcessor.pRequest(PrepRequestProcessor.java:1126) > at > org.apache.zookeeper.server.PrepRequestProcessor.run(PrepRequestProcessor.java:178) > {code} > Expected to handle null in server and return proper error code to client -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Commented] (ZOOKEEPER-2804) Node creation fails with NPE if ACLs are null
[ https://issues.apache.org/jira/browse/ZOOKEEPER-2804?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16048172#comment-16048172 ] ASF GitHub Bot commented on ZOOKEEPER-2804: --- Github user eribeiro commented on a diff in the pull request: https://github.com/apache/zookeeper/pull/279#discussion_r121749385 --- Diff: src/java/main/org/apache/zookeeper/server/PrepRequestProcessor.java --- @@ -915,11 +915,13 @@ protected void pRequest(Request request) throws RequestProcessorException { private List removeDuplicates(List acl) { ArrayList retval = new ArrayList(); -Iterator it = acl.iterator(); -while (it.hasNext()) { -ACL a = it.next(); -if (retval.contains(a) == false) { -retval.add(a); +if(acl != null) { --- End diff -- Good point. I added the check for nulls on `removeDuplicates` because `Set` doesn't accept null entries. So, if there is a null in `acl` list then the first snippet I suggested would throw an exception. > Node creation fails with NPE if ACLs are null > - > > Key: ZOOKEEPER-2804 > URL: https://issues.apache.org/jira/browse/ZOOKEEPER-2804 > Project: ZooKeeper > Issue Type: Bug >Reporter: Bhupendra Kumar Jain > > If null ACLs are passed then zk node creation or set ACL fails with NPE > {code} > java.lang.NullPointerException > at > org.apache.zookeeper.server.PrepRequestProcessor.removeDuplicates(PrepRequestProcessor.java:1301) > at > org.apache.zookeeper.server.PrepRequestProcessor.fixupACL(PrepRequestProcessor.java:1341) > at > org.apache.zookeeper.server.PrepRequestProcessor.pRequest2Txn(PrepRequestProcessor.java:519) > at > org.apache.zookeeper.server.PrepRequestProcessor.pRequest(PrepRequestProcessor.java:1126) > at > org.apache.zookeeper.server.PrepRequestProcessor.run(PrepRequestProcessor.java:178) > {code} > Expected to handle null in server and return proper error code to client -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Commented] (ZOOKEEPER-2804) Node creation fails with NPE if ACLs are null
[ https://issues.apache.org/jira/browse/ZOOKEEPER-2804?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16047785#comment-16047785 ] ASF GitHub Bot commented on ZOOKEEPER-2804: --- Github user jainbhupendra24 commented on a diff in the pull request: https://github.com/apache/zookeeper/pull/279#discussion_r121658648 --- Diff: src/java/main/org/apache/zookeeper/server/PrepRequestProcessor.java --- @@ -915,11 +915,13 @@ protected void pRequest(Request request) throws RequestProcessorException { private List removeDuplicates(List acl) { ArrayList retval = new ArrayList(); --- End diff -- Thanks for review . I will add the test case > Node creation fails with NPE if ACLs are null > - > > Key: ZOOKEEPER-2804 > URL: https://issues.apache.org/jira/browse/ZOOKEEPER-2804 > Project: ZooKeeper > Issue Type: Bug >Reporter: Bhupendra Kumar Jain > > If null ACLs are passed then zk node creation or set ACL fails with NPE > {code} > java.lang.NullPointerException > at > org.apache.zookeeper.server.PrepRequestProcessor.removeDuplicates(PrepRequestProcessor.java:1301) > at > org.apache.zookeeper.server.PrepRequestProcessor.fixupACL(PrepRequestProcessor.java:1341) > at > org.apache.zookeeper.server.PrepRequestProcessor.pRequest2Txn(PrepRequestProcessor.java:519) > at > org.apache.zookeeper.server.PrepRequestProcessor.pRequest(PrepRequestProcessor.java:1126) > at > org.apache.zookeeper.server.PrepRequestProcessor.run(PrepRequestProcessor.java:178) > {code} > Expected to handle null in server and return proper error code to client -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Commented] (ZOOKEEPER-2804) Node creation fails with NPE if ACLs are null
[ https://issues.apache.org/jira/browse/ZOOKEEPER-2804?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16047784#comment-16047784 ] ASF GitHub Bot commented on ZOOKEEPER-2804: --- Github user jainbhupendra24 commented on a diff in the pull request: https://github.com/apache/zookeeper/pull/279#discussion_r121658390 --- Diff: src/java/main/org/apache/zookeeper/server/PrepRequestProcessor.java --- @@ -915,11 +915,13 @@ protected void pRequest(Request request) throws RequestProcessorException { private List removeDuplicates(List acl) { ArrayList retval = new ArrayList(); -Iterator it = acl.iterator(); -while (it.hasNext()) { -ACL a = it.next(); -if (retval.contains(a) == false) { -retval.add(a); +if(acl != null) { --- End diff -- Server side, the validation for null is already present in fixupACL method and it throws InvalidACLException. This check is after the removeDuplicates method call. So do you mean we can handle null in removeDuplicates method itself and if so,, we can remove the null validation code in fixupACL method. > Node creation fails with NPE if ACLs are null > - > > Key: ZOOKEEPER-2804 > URL: https://issues.apache.org/jira/browse/ZOOKEEPER-2804 > Project: ZooKeeper > Issue Type: Bug >Reporter: Bhupendra Kumar Jain > > If null ACLs are passed then zk node creation or set ACL fails with NPE > {code} > java.lang.NullPointerException > at > org.apache.zookeeper.server.PrepRequestProcessor.removeDuplicates(PrepRequestProcessor.java:1301) > at > org.apache.zookeeper.server.PrepRequestProcessor.fixupACL(PrepRequestProcessor.java:1341) > at > org.apache.zookeeper.server.PrepRequestProcessor.pRequest2Txn(PrepRequestProcessor.java:519) > at > org.apache.zookeeper.server.PrepRequestProcessor.pRequest(PrepRequestProcessor.java:1126) > at > org.apache.zookeeper.server.PrepRequestProcessor.run(PrepRequestProcessor.java:178) > {code} > Expected to handle null in server and return proper error code to client -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Commented] (ZOOKEEPER-2804) Node creation fails with NPE if ACLs are null
[ https://issues.apache.org/jira/browse/ZOOKEEPER-2804?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16047783#comment-16047783 ] ASF GitHub Bot commented on ZOOKEEPER-2804: --- Github user jainbhupendra24 commented on a diff in the pull request: https://github.com/apache/zookeeper/pull/279#discussion_r121657958 --- Diff: src/java/main/org/apache/zookeeper/ZooKeeper.java --- @@ -1436,7 +1436,7 @@ public String create(final String path, byte data[], List acl, request.setData(data); request.setFlags(createMode.toFlag()); request.setPath(serverPath); -if (acl != null && acl.size() == 0) { +if (acl == null || acl.size() == 0) { --- End diff -- This client side nulll check is better to add. I will add > Node creation fails with NPE if ACLs are null > - > > Key: ZOOKEEPER-2804 > URL: https://issues.apache.org/jira/browse/ZOOKEEPER-2804 > Project: ZooKeeper > Issue Type: Bug >Reporter: Bhupendra Kumar Jain > > If null ACLs are passed then zk node creation or set ACL fails with NPE > {code} > java.lang.NullPointerException > at > org.apache.zookeeper.server.PrepRequestProcessor.removeDuplicates(PrepRequestProcessor.java:1301) > at > org.apache.zookeeper.server.PrepRequestProcessor.fixupACL(PrepRequestProcessor.java:1341) > at > org.apache.zookeeper.server.PrepRequestProcessor.pRequest2Txn(PrepRequestProcessor.java:519) > at > org.apache.zookeeper.server.PrepRequestProcessor.pRequest(PrepRequestProcessor.java:1126) > at > org.apache.zookeeper.server.PrepRequestProcessor.run(PrepRequestProcessor.java:178) > {code} > Expected to handle null in server and return proper error code to client -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Commented] (ZOOKEEPER-2804) Node creation fails with NPE if ACLs are null
[ https://issues.apache.org/jira/browse/ZOOKEEPER-2804?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16045965#comment-16045965 ] ASF GitHub Bot commented on ZOOKEEPER-2804: --- Github user eribeiro commented on a diff in the pull request: https://github.com/apache/zookeeper/pull/279#discussion_r121280993 --- Diff: src/java/main/org/apache/zookeeper/server/PrepRequestProcessor.java --- @@ -915,11 +915,13 @@ protected void pRequest(Request request) throws RequestProcessorException { private List removeDuplicates(List acl) { ArrayList retval = new ArrayList(); -Iterator it = acl.iterator(); -while (it.hasNext()) { -ACL a = it.next(); -if (retval.contains(a) == false) { -retval.add(a); +if(acl != null) { --- End diff -- ``` if (acl != null) { retval.addAll(acl); } } return new List<>(retval); ``` OR ``` if (acl != null) { for (ACL a: acl) { if (a != null) { retval.add(a); } } } } return new List<>(retval); ``` Main difference between the two code snippets is that the latter accounts for null entries in the `acl` List. As you know, Lists accept null entries, but `Set` throws `NPE`. The original code doesn't prevent that, but this can never be the case (sending a null ACL entry in the List), so the former snippet is preferrable. > Node creation fails with NPE if ACLs are null > - > > Key: ZOOKEEPER-2804 > URL: https://issues.apache.org/jira/browse/ZOOKEEPER-2804 > Project: ZooKeeper > Issue Type: Bug >Reporter: Bhupendra Kumar Jain > > If null ACLs are passed then zk node creation or set ACL fails with NPE > {code} > java.lang.NullPointerException > at > org.apache.zookeeper.server.PrepRequestProcessor.removeDuplicates(PrepRequestProcessor.java:1301) > at > org.apache.zookeeper.server.PrepRequestProcessor.fixupACL(PrepRequestProcessor.java:1341) > at > org.apache.zookeeper.server.PrepRequestProcessor.pRequest2Txn(PrepRequestProcessor.java:519) > at > org.apache.zookeeper.server.PrepRequestProcessor.pRequest(PrepRequestProcessor.java:1126) > at > org.apache.zookeeper.server.PrepRequestProcessor.run(PrepRequestProcessor.java:178) > {code} > Expected to handle null in server and return proper error code to client -- This message was sent by Atlassian JIRA (v6.3.15#6346)
[jira] [Commented] (ZOOKEEPER-2804) Node creation fails with NPE if ACLs are null
[ https://issues.apache.org/jira/browse/ZOOKEEPER-2804?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16045966#comment-16045966 ] ASF GitHub Bot commented on ZOOKEEPER-2804: --- Github user eribeiro commented on a diff in the pull request: https://github.com/apache/zookeeper/pull/279#discussion_r121280799 --- Diff: src/java/main/org/apache/zookeeper/server/PrepRequestProcessor.java --- @@ -915,11 +915,13 @@ protected void pRequest(Request request) throws RequestProcessorException { private List removeDuplicates(List acl) { ArrayList retval = new ArrayList(); --- End diff -- If we make retval a `Set` then code on lines 918-924 can be simplified as shown below. ``` Set retval = new ACL<>(); ``` > Node creation fails with NPE if ACLs are null > - > > Key: ZOOKEEPER-2804 > URL: https://issues.apache.org/jira/browse/ZOOKEEPER-2804 > Project: ZooKeeper > Issue Type: Bug >Reporter: Bhupendra Kumar Jain > > If null ACLs are passed then zk node creation or set ACL fails with NPE > {code} > java.lang.NullPointerException > at > org.apache.zookeeper.server.PrepRequestProcessor.removeDuplicates(PrepRequestProcessor.java:1301) > at > org.apache.zookeeper.server.PrepRequestProcessor.fixupACL(PrepRequestProcessor.java:1341) > at > org.apache.zookeeper.server.PrepRequestProcessor.pRequest2Txn(PrepRequestProcessor.java:519) > at > org.apache.zookeeper.server.PrepRequestProcessor.pRequest(PrepRequestProcessor.java:1126) > at > org.apache.zookeeper.server.PrepRequestProcessor.run(PrepRequestProcessor.java:178) > {code} > Expected to handle null in server and return proper error code to client -- This message was sent by Atlassian JIRA (v6.3.15#6346)
[jira] [Commented] (ZOOKEEPER-2804) Node creation fails with NPE if ACLs are null
[ https://issues.apache.org/jira/browse/ZOOKEEPER-2804?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16045967#comment-16045967 ] ASF GitHub Bot commented on ZOOKEEPER-2804: --- Github user eribeiro commented on a diff in the pull request: https://github.com/apache/zookeeper/pull/279#discussion_r121281455 --- Diff: src/java/main/org/apache/zookeeper/ZooKeeper.java --- @@ -1436,7 +1436,7 @@ public String create(final String path, byte data[], List acl, request.setData(data); request.setFlags(createMode.toFlag()); request.setPath(serverPath); -if (acl != null && acl.size() == 0) { +if (acl == null || acl.size() == 0) { --- End diff -- Wouldn't be better to account for `null` entries in the `acl` List like below? ``` if (acl == null || acl.size() == 0 || acl.contains(null)) { ``` The same applies to other changes in this file. > Node creation fails with NPE if ACLs are null > - > > Key: ZOOKEEPER-2804 > URL: https://issues.apache.org/jira/browse/ZOOKEEPER-2804 > Project: ZooKeeper > Issue Type: Bug >Reporter: Bhupendra Kumar Jain > > If null ACLs are passed then zk node creation or set ACL fails with NPE > {code} > java.lang.NullPointerException > at > org.apache.zookeeper.server.PrepRequestProcessor.removeDuplicates(PrepRequestProcessor.java:1301) > at > org.apache.zookeeper.server.PrepRequestProcessor.fixupACL(PrepRequestProcessor.java:1341) > at > org.apache.zookeeper.server.PrepRequestProcessor.pRequest2Txn(PrepRequestProcessor.java:519) > at > org.apache.zookeeper.server.PrepRequestProcessor.pRequest(PrepRequestProcessor.java:1126) > at > org.apache.zookeeper.server.PrepRequestProcessor.run(PrepRequestProcessor.java:178) > {code} > Expected to handle null in server and return proper error code to client -- This message was sent by Atlassian JIRA (v6.3.15#6346)
[jira] [Commented] (ZOOKEEPER-2804) Node creation fails with NPE if ACLs are null
[ https://issues.apache.org/jira/browse/ZOOKEEPER-2804?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16045964#comment-16045964 ] ASF GitHub Bot commented on ZOOKEEPER-2804: --- Github user eribeiro commented on a diff in the pull request: https://github.com/apache/zookeeper/pull/279#discussion_r121280641 --- Diff: src/java/main/org/apache/zookeeper/server/PrepRequestProcessor.java --- @@ -915,11 +915,13 @@ protected void pRequest(Request request) throws RequestProcessorException { private List removeDuplicates(List acl) { ArrayList retval = new ArrayList(); -Iterator it = acl.iterator(); -while (it.hasNext()) { -ACL a = it.next(); -if (retval.contains(a) == false) { -retval.add(a); +if(acl != null) { --- End diff -- nit: space between `if` and `(` > Node creation fails with NPE if ACLs are null > - > > Key: ZOOKEEPER-2804 > URL: https://issues.apache.org/jira/browse/ZOOKEEPER-2804 > Project: ZooKeeper > Issue Type: Bug >Reporter: Bhupendra Kumar Jain > > If null ACLs are passed then zk node creation or set ACL fails with NPE > {code} > java.lang.NullPointerException > at > org.apache.zookeeper.server.PrepRequestProcessor.removeDuplicates(PrepRequestProcessor.java:1301) > at > org.apache.zookeeper.server.PrepRequestProcessor.fixupACL(PrepRequestProcessor.java:1341) > at > org.apache.zookeeper.server.PrepRequestProcessor.pRequest2Txn(PrepRequestProcessor.java:519) > at > org.apache.zookeeper.server.PrepRequestProcessor.pRequest(PrepRequestProcessor.java:1126) > at > org.apache.zookeeper.server.PrepRequestProcessor.run(PrepRequestProcessor.java:178) > {code} > Expected to handle null in server and return proper error code to client -- This message was sent by Atlassian JIRA (v6.3.15#6346)
[jira] [Commented] (ZOOKEEPER-2804) Node creation fails with NPE if ACLs are null
[ https://issues.apache.org/jira/browse/ZOOKEEPER-2804?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16045855#comment-16045855 ] ASF GitHub Bot commented on ZOOKEEPER-2804: --- Github user jainbhupendra24 commented on the issue: https://github.com/apache/zookeeper/pull/279 Test failure is not related > Node creation fails with NPE if ACLs are null > - > > Key: ZOOKEEPER-2804 > URL: https://issues.apache.org/jira/browse/ZOOKEEPER-2804 > Project: ZooKeeper > Issue Type: Bug >Reporter: Bhupendra Kumar Jain > > If null ACLs are passed then zk node creation or set ACL fails with NPE > {code} > java.lang.NullPointerException > at > org.apache.zookeeper.server.PrepRequestProcessor.removeDuplicates(PrepRequestProcessor.java:1301) > at > org.apache.zookeeper.server.PrepRequestProcessor.fixupACL(PrepRequestProcessor.java:1341) > at > org.apache.zookeeper.server.PrepRequestProcessor.pRequest2Txn(PrepRequestProcessor.java:519) > at > org.apache.zookeeper.server.PrepRequestProcessor.pRequest(PrepRequestProcessor.java:1126) > at > org.apache.zookeeper.server.PrepRequestProcessor.run(PrepRequestProcessor.java:178) > {code} > Expected to handle null in server and return proper error code to client -- This message was sent by Atlassian JIRA (v6.3.15#6346)
[jira] [Commented] (ZOOKEEPER-2804) Node creation fails with NPE if ACLs are null
[ https://issues.apache.org/jira/browse/ZOOKEEPER-2804?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16045698#comment-16045698 ] Hadoop QA commented on ZOOKEEPER-2804: -- -1 overall. GitHub Pull Request Build +1 @author. The patch does not contain any @author tags. +0 tests included. The patch appears to be a documentation patch that doesn't require tests. +1 javadoc. The javadoc tool did not generate any warning messages. +1 javac. The applied patch does not increase the total number of javac compiler warnings. +1 findbugs. The patch does not introduce any new Findbugs (version 3.0.1) warnings. +1 release audit. The applied patch does not increase the total number of release audit warnings. -1 core tests. The patch failed core unit tests. +1 contrib tests. The patch passed contrib unit tests. Test results: https://builds.apache.org/job/PreCommit-ZOOKEEPER-github-pr-build/784//testReport/ Findbugs warnings: https://builds.apache.org/job/PreCommit-ZOOKEEPER-github-pr-build/784//artifact/trunk/build/test/findbugs/newPatchFindbugsWarnings.html Console output: https://builds.apache.org/job/PreCommit-ZOOKEEPER-github-pr-build/784//console This message is automatically generated. > Node creation fails with NPE if ACLs are null > - > > Key: ZOOKEEPER-2804 > URL: https://issues.apache.org/jira/browse/ZOOKEEPER-2804 > Project: ZooKeeper > Issue Type: Bug >Reporter: Bhupendra Kumar Jain > > If null ACLs are passed then zk node creation or set ACL fails with NPE > {code} > java.lang.NullPointerException > at > org.apache.zookeeper.server.PrepRequestProcessor.removeDuplicates(PrepRequestProcessor.java:1301) > at > org.apache.zookeeper.server.PrepRequestProcessor.fixupACL(PrepRequestProcessor.java:1341) > at > org.apache.zookeeper.server.PrepRequestProcessor.pRequest2Txn(PrepRequestProcessor.java:519) > at > org.apache.zookeeper.server.PrepRequestProcessor.pRequest(PrepRequestProcessor.java:1126) > at > org.apache.zookeeper.server.PrepRequestProcessor.run(PrepRequestProcessor.java:178) > {code} > Expected to handle null in server and return proper error code to client -- This message was sent by Atlassian JIRA (v6.3.15#6346)
[jira] [Commented] (ZOOKEEPER-2804) Node creation fails with NPE if ACLs are null
[ https://issues.apache.org/jira/browse/ZOOKEEPER-2804?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16045684#comment-16045684 ] ASF GitHub Bot commented on ZOOKEEPER-2804: --- GitHub user jainbhupendra24 opened a pull request: https://github.com/apache/zookeeper/pull/279 ZOOKEEPER-2804:Node creation fails with NPE if ACLs are null 1) Handled Null case in server. Client will get InvalidACLException 2) Handled null check in create and setACL APIs in client side. as per their javadoc @throws KeeperException.InvalidACLException if the ACL is invalid, null, or empty 3) Not handling any validation for async API of create and setACL in this JIRA because these API doesn't throw KeeperException explicitly. So can not throw InvalidACLException from Client. If we throw IllegalArgumentException then it will not be consistent with other sync APIs. So Let server throw InvalidACLException for async API. Please review and provide suggestion. You can merge this pull request into a Git repository by running: $ git pull https://github.com/jainbhupendra24/zookeeper ZOOKEEPER-2804-new Alternatively you can review and apply these changes as the patch at: https://github.com/apache/zookeeper/pull/279.patch To close this pull request, make a commit to your master/trunk branch with (at least) the following in the commit message: This closes #279 commit 9deacdabc061b95b24242a6bc557b7ee031bdf9e Author: bhupendra jainDate: 2017-06-10T20:16:44Z ZOOKEEPER-2804:Node creation fails with NPE if ACLs are null > Node creation fails with NPE if ACLs are null > - > > Key: ZOOKEEPER-2804 > URL: https://issues.apache.org/jira/browse/ZOOKEEPER-2804 > Project: ZooKeeper > Issue Type: Bug >Reporter: Bhupendra Kumar Jain > > If null ACLs are passed then zk node creation or set ACL fails with NPE > {code} > java.lang.NullPointerException > at > org.apache.zookeeper.server.PrepRequestProcessor.removeDuplicates(PrepRequestProcessor.java:1301) > at > org.apache.zookeeper.server.PrepRequestProcessor.fixupACL(PrepRequestProcessor.java:1341) > at > org.apache.zookeeper.server.PrepRequestProcessor.pRequest2Txn(PrepRequestProcessor.java:519) > at > org.apache.zookeeper.server.PrepRequestProcessor.pRequest(PrepRequestProcessor.java:1126) > at > org.apache.zookeeper.server.PrepRequestProcessor.run(PrepRequestProcessor.java:178) > {code} > Expected to handle null in server and return proper error code to client -- This message was sent by Atlassian JIRA (v6.3.15#6346)
[jira] [Commented] (ZOOKEEPER-2804) Node creation fails with NPE if ACLs are null
[ https://issues.apache.org/jira/browse/ZOOKEEPER-2804?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16045655#comment-16045655 ] Bhupendra Kumar Jain commented on ZOOKEEPER-2804: - After I rechecked the code, I noticed that all create APIs and also SetACL API have the NPE issue. Server must throw InvalidACLException in the null case. Apart from this, Currently client side ACL null parameter validation is missing. We can probably add client side validation also to throw IllegalArgumentException for null ACL. > Node creation fails with NPE if ACLs are null > - > > Key: ZOOKEEPER-2804 > URL: https://issues.apache.org/jira/browse/ZOOKEEPER-2804 > Project: ZooKeeper > Issue Type: Bug >Reporter: Bhupendra Kumar Jain > > If null ACLs are passed then zk node creation fails with NPE > {code} > java.lang.NullPointerException > at > org.apache.zookeeper.server.PrepRequestProcessor.removeDuplicates(PrepRequestProcessor.java:1301) > at > org.apache.zookeeper.server.PrepRequestProcessor.fixupACL(PrepRequestProcessor.java:1341) > at > org.apache.zookeeper.server.PrepRequestProcessor.pRequest2Txn(PrepRequestProcessor.java:519) > at > org.apache.zookeeper.server.PrepRequestProcessor.pRequest(PrepRequestProcessor.java:1126) > at > org.apache.zookeeper.server.PrepRequestProcessor.run(PrepRequestProcessor.java:178) > {code} > Below APIs have problem. > {code} > public void create(final String path, byte data[], List acl, > CreateMode createMode, StringCallback cb, Object ctx) > public void create(final String path, byte data[], List acl, > CreateMode createMode, Create2Callback cb, Object ctx) > {code} > Solution: > a) Need to handle NULL ACLs in removeDuplicates method in server. > b) Also add the client side validation for null / empty ACL for above API > similar to other create API -- This message was sent by Atlassian JIRA (v6.3.15#6346)
[jira] [Commented] (ZOOKEEPER-2804) Node creation fails with NPE if ACLs are null
[ https://issues.apache.org/jira/browse/ZOOKEEPER-2804?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16044549#comment-16044549 ] Flavio Junqueira commented on ZOOKEEPER-2804: - Good catch [~Bhupendra]! Do you want to submit a patch? > Node creation fails with NPE if ACLs are null > - > > Key: ZOOKEEPER-2804 > URL: https://issues.apache.org/jira/browse/ZOOKEEPER-2804 > Project: ZooKeeper > Issue Type: Bug >Reporter: Bhupendra Kumar Jain > > If null ACLs are passed then zk node creation fails with NPE > {code} > java.lang.NullPointerException > at > org.apache.zookeeper.server.PrepRequestProcessor.removeDuplicates(PrepRequestProcessor.java:1301) > at > org.apache.zookeeper.server.PrepRequestProcessor.fixupACL(PrepRequestProcessor.java:1341) > at > org.apache.zookeeper.server.PrepRequestProcessor.pRequest2Txn(PrepRequestProcessor.java:519) > at > org.apache.zookeeper.server.PrepRequestProcessor.pRequest(PrepRequestProcessor.java:1126) > at > org.apache.zookeeper.server.PrepRequestProcessor.run(PrepRequestProcessor.java:178) > {code} > Below APIs have problem. > {code} > public void create(final String path, byte data[], List acl, > CreateMode createMode, StringCallback cb, Object ctx) > public void create(final String path, byte data[], List acl, > CreateMode createMode, Create2Callback cb, Object ctx) > {code} > Solution: > a) Need to handle NULL ACLs in removeDuplicates method in server. > b) Also add the client side validation for null / empty ACL for above API > similar to other create API -- This message was sent by Atlassian JIRA (v6.3.15#6346)