[ https://issues.apache.org/jira/browse/BOOKKEEPER-400?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13453435#comment-13453435 ]
Stu Hood commented on BOOKKEEPER-400: ------------------------------------- The ledger/entry that later became unreadable from the attached log are {{ledger: 338547, entry: 2935}}. > 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