[ 
https://issues.apache.org/jira/browse/BOOKKEEPER-68?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Flavio Junqueira updated BOOKKEEPER-68:
---------------------------------------

    Attachment: BOOKKEEPER-68.patch

After making the modifications that Ivan suggested, I noticed while running the 
tests that BookieRecoveryTest was failing intermittently, so I investigated it 
a bit and found the following. 

Currently when we recover a ledger, we acknowledge the open before waiting for 
the ledger to close. Not waiting was causing a race while recovering bookies. I 
have fixed the problem in the patch I'm attaching.

There is one tiny thing that is bugging me in this patch and I need to fix. I 
need to access the znodeVersion variable from BookKeeperTools, and to do it I 
made the variable public just to test. I need to find a better way of accessing 
the znode version variable in LedgerMetadata, though.
                
> Conditional setData
> -------------------
>
>                 Key: BOOKKEEPER-68
>                 URL: https://issues.apache.org/jira/browse/BOOKKEEPER-68
>             Project: Bookkeeper
>          Issue Type: Bug
>            Reporter: Flavio Junqueira
>            Assignee: Flavio Junqueira
>             Fix For: 3.4.0
>
>         Attachments: BOOKKEEPER-68.patch, BOOKKEEPER-68.patch, 
> BOOKKEEPER-68.patch
>
>
> The write to ZooKeeper to store ledger metadata when closing a ledger must be 
> conditional, otherwise concurrent clients might end up writing in a way that 
> the update of a client overwrites the update of the other. 

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to