You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@zookeeper.apache.org by "Bhupendra Kumar Jain (JIRA)" <ji...@apache.org> on 2017/06/10 18:55:19 UTC

[jira] [Updated] (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:all-tabpanel ]

Bhupendra Kumar Jain updated ZOOKEEPER-2804:
--------------------------------------------
    Description: 
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

  was:
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> acl,
            CreateMode createMode, StringCallback cb, Object ctx)

public void create(final String path, byte data[], List<ACL> 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


> 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)