You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@curator.apache.org by "Cameron McKenzie (JIRA)" <ji...@apache.org> on 2015/06/19 00:53:00 UTC
[jira] [Commented] (CURATOR-224) Locking Not Working with
DistributedIdQueue
[ https://issues.apache.org/jira/browse/CURATOR-224?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14592680#comment-14592680 ]
Cameron McKenzie commented on CURATOR-224:
------------------------------------------
Please create a PR with a fix and unit tests if possible. If not, I will look at it, but no guarantees on when that will be.
> 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)