[ 
https://issues.apache.org/jira/browse/ZOOKEEPER-2808?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16053261#comment-16053261
 ] 

ASF GitHub Bot commented on ZOOKEEPER-2808:
-------------------------------------------

Github user hanm commented on the issue:

    https://github.com/apache/zookeeper/pull/284
  
    LGTM.


> ACL with index 1 might be removed if it's only being used once
> --------------------------------------------------------------
>
>                 Key: ZOOKEEPER-2808
>                 URL: https://issues.apache.org/jira/browse/ZOOKEEPER-2808
>             Project: ZooKeeper
>          Issue Type: Bug
>          Components: server
>    Affects Versions: 3.6.0
>            Reporter: Fangmin Lv
>            Priority: Critical
>
> When Zeus start up, it will create DataTree instance, in which the empty 
> config znode is created with READ_UNSAFE acl, the acl will be stored in a map 
> with index 1. Then it's going to load the snapshot from disk, the nodes and 
> acl map will be cleared, but the reconfig znode is still reference to acl 
> index 1. The reconfig znode will be reused, so actually it may reference to a 
> different ACL stored in the snasphot. After leader-follower syncing, the 
> reconfig znode will be added back again (if it doesn't exist), which will 
> remove the previous reference to ACL index 1, if the index 1 has 0 reference 
> it will be removed from the ACL map, which could cause that ACL un-usable, 
> and that znode will not be readable.
> Error logs related:
> -----------------------------
> 2017-06-12 12:02:21,443 [myid:2] - ERROR 
> [CommitProcWorkThread-14:DataTree@249] - ERROR: ACL not available for long 1
> 2017-06-12 12:02:21,444 [myid:2] - ERROR 
> [CommitProcWorkThread-14:FinalRequestProcessor@567] - Failed to process 
> sessionid:0x201035cc882002d type:getChildren cxid:0x1 zxid:0xfffffffffffffffe 
> txntype:unknown reqpath:n/a
> java.lang.RuntimeException: Failed to fetch acls for 1
>         at org.apache.zookeeper.server.DataTree.convertLong(DataTree.java:250)
>         at org.apache.zookeeper.server.DataTree.getACL(DataTree.java:799)
>         at org.apache.zookeeper.server.ZKDatabase.getACL(ZKDatabase.java:574)
>         at 
> org.apache.zookeeper.server.FinalRequestProcessor.processRequest(FinalRequestProcessor.java:463)
>         at 
> org.apache.zookeeper.server.quorum.CommitProcessor$CommitWorkRequest.doWork(CommitProcessor.java:439)
>         at 
> org.apache.zookeeper.server.WorkerService$ScheduledWorkRequest.run(WorkerService.java:151)
>         at 
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
>         at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
>         at java.lang.Thread.run(Thread.java:745)



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Reply via email to