Aniruddha created BOOKKEEPER-400:
------------------------------------
Summary: Ledger entry not found in any of the bookies in the
ensemble responsible for that entry.
Key: BOOKKEEPER-400
URL: https://issues.apache.org/jira/browse/BOOKKEEPER-400
Project: Bookkeeper
Issue Type: Bug
Components: bookkeeper-client
Reporter: Aniruddha
Attachments: clean.log.gz
Detailed discussion at
http://mail-archives.apache.org/mod_mbox/zookeeper-bookkeeper-dev/201209.mbox/%3cCAOLhyDQzrmeOHmTxzPikeAqJ7pZUn0=vHfd=gc1srmtuye5...@mail.gmail.com%3e
We had an internal discussion about this. From BOOKKEEPER-337, it seems that
handleBookieFailure could be invoked in parallel by a thread other the one that
calls LedgerHandle#sendAddSuccessCallbacks. The values updated by
handleBookieFailure might not be visible to the thread running
sendAddSuccessCallbacks because the fields are not volatile and this might have
caused our bad state.
BK-337 synchronizes access to metadata.addEnsemble() and we believe this would
make this scenario very improbable.
A long term fix might be to make LedgerMetadata immutable since it is rarely
updated.
--
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