[
https://issues.apache.org/jira/browse/BOOKKEEPER-667?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13731693#comment-13731693
]
Sijie Guo edited comment on BOOKKEEPER-667 at 8/7/13 6:29 AM:
--------------------------------------------------------------
attach a test to fix this issue: when new metadata has one less ensemble that
current metadata (the case the recovery tool modified ledger metadata at the
same time that ensemble change kicks in). and we should use the ensembles in
new metadata when resolving conflicts since it contains recovered bookie info.
the patch is just a draft to show how to fix this issue correctly. I would
improve it with more test cases (not just the test case that Vinay attached)
later.
was (Author: hustlmsp):
attach a test to fix this issue: when new metadata has one less ensemble
that current metadata (the case the recovery tool modified ledger metadata at
the same time that ensemble change kicks in). and we should use the ensembles
in new metadata when resolving conflicts since it contains recovered bookie
info.
there is no test right now, since I think we need to more test cases to test
the issue here. I would attach the test cases later.
> Client write will fail with BadMetadataVersion in case of multiple Bookie
> failures with AutoRecovery enabled
> ------------------------------------------------------------------------------------------------------------
>
> Key: BOOKKEEPER-667
> URL: https://issues.apache.org/jira/browse/BOOKKEEPER-667
> Project: Bookkeeper
> Issue Type: Bug
> Components: bookkeeper-auto-recovery
> Affects Versions: 4.2.1, 4.3.0
> Reporter: Vinay
> Assignee: Sijie Guo
> Priority: Blocker
> Fix For: 4.2.2, 4.3.0
>
> Attachments: BOOKKEEPER-667.diff, BOOKKEEPER-667.patch,
> MetatadaConflictTest.patch
>
>
> Scenario:
> ------------
> 1. Start cluster of enough bookies, say 4, with autorecovery
> 2. Create ledger and write some entries.
> 3. Restart one of the bookies
> 4. again, write some more entries
> 5. wait for some time.. till autorecovery completes replication of first
> segment
> 6. Now restart one of the bookie of latest ensemble
> 7. continue to write.
> Here second ensemble change will fail, throwing BadMetadataVersion
--
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