[
https://issues.apache.org/jira/browse/BOOKKEEPER-249?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13506710#comment-13506710
]
Sijie Guo commented on BOOKKEEPER-249:
--------------------------------------
{quote}
1) A bookie b is not added to set B originally (bookie missing);
2) A bookie b writes entries of L after garbage-collecting it (bookie race).
{quote}
for case 2), I think it would already or could (if not) be addressed by some
kind of agreements on the ledger state in ledger metadata.
But for case 1), it was difficult to track all the possible candidates of a
ledger fragment, since failure could happen at any time between changing ledger
metadata and writing entries. There are several concerns why talking about a
FULL gc. first one is to not overwhelm the design and implementation of a fast
gc algorithm to cover rare cases (like zombie entries). secondly, when the new
gc algorithm is introduced, there are still lots of ledgers are deleted by old
version of bookie clients, whose ledger metadata are not recorded in
"/ledgers/deleted/Bi" znode. so at least we need a FULL gc to clean those
ledgers deleted by old bookie clients.
A FULL gc is a easier and more consistent way to address the above concerns.
And the cost of a FULL gc is quite fine since it would not be run frequently on
every bookies.
> Revisit garbage collection algorithm in Bookie server
> -----------------------------------------------------
>
> Key: BOOKKEEPER-249
> URL: https://issues.apache.org/jira/browse/BOOKKEEPER-249
> Project: Bookkeeper
> Issue Type: Improvement
> Components: bookkeeper-server
> Reporter: Sijie Guo
> Fix For: 4.2.0
>
> Attachments: gc_revisit.pdf
>
>
> Per discussion in BOOKKEEPER-181, it would be better to revisit garbage
> collection algorithm in bookie server. so create a subtask to focus on it.
--
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