You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@bookkeeper.apache.org by "Ivan Kelly (Assigned) (JIRA)" <ji...@apache.org> on 2012/01/17 16:53:41 UTC
[jira] [Assigned] (BOOKKEEPER-150) Entry is lost when recovering a
ledger with not enough bookies.
[ https://issues.apache.org/jira/browse/BOOKKEEPER-150?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Ivan Kelly reassigned BOOKKEEPER-150:
-------------------------------------
Assignee: Ivan Kelly (was: Sijie Guo)
> Entry is lost when recovering a ledger with not enough bookies.
> ---------------------------------------------------------------
>
> Key: BOOKKEEPER-150
> URL: https://issues.apache.org/jira/browse/BOOKKEEPER-150
> Project: Bookkeeper
> Issue Type: Bug
> Components: bookkeeper-client
> Affects Versions: 4.0.0
> Reporter: Sijie Guo
> Assignee: Ivan Kelly
> Fix For: 4.1.0
>
> Attachments: BOOKKEEPER-150.patch
>
>
> suppose a ledger is created as ensemble size 3 and quorum size 3.
> 3 entries is added in this ledger, entry ids are 0, 1, 2.
> this ledger is not closed. then a bookie server is down.
> the ledger is opened. it would be recovered in following steps:
> 1) retrieve LAC from all bookie ensemble to get maxAddConfirmed. then maxAddPushed would be 2 and maxAddConfirmed would be 1. then lastAddConfirmed would be 1.
> 2) doRecovery read lastAddConfirmed + 1 (2). it would return right data since there is still 2 replicas.
> 3) doRecovery add entry 2. but it would fail since there is not enough bookies to form a new ensemble.
> 4) this ledger will be closed with lastAddConfirmed (1). entry 2 will be lost.
> this issue happened in hub server. old ledger will be recovered and closed when changing ownership. so published messages would be lost.
> we should not close ledger when we encountered exception during recovery adding, otherwise we would lose entries.
--
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