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

Flavio Junqueira commented on BOOKKEEPER-649:
---------------------------------------------

I like the idea of implementing the sync version with the async version + a 
latch. 

The patch you provide replaces calls to the sync version with calls to the 
async version. This changes the semantics of the call, right? It is not 
blocking anymore.

If we don't need the sync version any longer, since the patch replaces sync 
calls with async calls, is there any reason why you want to keep it?
                
> 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.2.2, 4.3.0
>
>         Attachments: 
> 0001-BOOKKEEPER-649-Race-condition-in-sync-ZKUtils.create.patch, 
> 0001-BOOKKEEPER-649-Race-condition-in-sync-ZKUtils.create.patch, 
> 0002-BOOKKEEPER-649.patch, 0002-BOOKKEEPER-649.patch, 
> TEST-org.apache.bookkeeper.replication.TestLedgerUnderreplicationManager.xml
>
>
> 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

Reply via email to