[
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