Zhihong Zhang created CURATOR-224:
-------------------------------------

             Summary: Locking Not Working with DistributedIdQueue
                 Key: CURATOR-224
                 URL: https://issues.apache.org/jira/browse/CURATOR-224
             Project: Apache Curator
          Issue Type: Bug
          Components: Apache, Framework
    Affects Versions: 2.8.0
         Environment: Windows 7/Java 8
            Reporter: Zhihong Zhang
            Priority: Blocker
             Fix For: awaiting-response


The locking doesn't work with DistributedIdQeue.

    2015-06-18 17:19:47.859  INFO 18244 --- [    TaskCache-0] 
com.pixia.gi.zookeeper.TaskLockingQueue  : Path cache event: 
path=/task_queue/queue-|7qb89wjddu|0000000001, type=CHILD_REMOVED
    2015-06-18 17:19:47.864  INFO 18244 --- [    TaskCache-0] 
com.pixia.gi.zookeeper.TaskLockingQueue  : Path cache event: 
path=/task_queue/queue-0000000005, type=CHILD_ADDED

When the DistributedQueue does the requeue, it recreates a new node path 
without the ID. The bug is in following code block,

            if ( requeue )
            {
                client.inTransaction()
                    .delete().forPath(itemPath)
                    .and()
                    
.create().withMode(CreateMode.PERSISTENT_SEQUENTIAL).forPath(makeItemPath(), 
bytes)
                    .and()
                    .commit();
            }

Should replace makeItemPath() with itemPath.




--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to