[
https://issues.apache.org/jira/browse/BOOKKEEPER-649?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13714203#comment-13714203
]
Matteo Merli commented on BOOKKEEPER-649:
-----------------------------------------
[~rakeshr] In your patch you cathing the NodeExistsException in the
zk.create(), but that would hide the error of creating the leaf node when it
already exists.
I think we should only catch the NodeExistsException in the recursive call
because at that point we are creating empty nodes.
> Race condition in sync ZKUtils.createFullPathOptimistic()
> ---------------------------------------------------------
>
> Key: BOOKKEEPER-649
> URL: https://issues.apache.org/jira/browse/BOOKKEEPER-649
> Project: Bookkeeper
> Issue Type: Bug
> Reporter: Matteo Merli
> Assignee: Matteo Merli
> Priority: Trivial
> Fix For: 4.3.0
>
> Attachments:
> 0001-BOOKKEEPER-649-Race-condition-in-sync-ZKUtils.create.patch,
> 0002-BOOKKEEPER-649.patch, 0002-BOOKKEEPER-649.patch
>
>
> If multiple threads are calling createFullPathOptimistic() there will be race
> conditions on creating the intermediate nodes. If the intermediate nodes have
> been created since we last check, we can just ignore the exception and
> continue creating the child nodes.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira