[
https://issues.apache.org/jira/browse/BOOKKEEPER-421?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13620618#comment-13620618
]
Jiannan Wang commented on BOOKKEEPER-421:
-----------------------------------------
Since the changes are a bit large, here I list the summary of code changes
(list item number is the review order):
# BOOKKEEPER-590 aims to remove the unnecessary order requirement when scan
all ledger ids, which is beneficial for MSLedgerManager backward compatibility
and also reduce the complexity for new 64-bits ledger metadata manager. After
change the scan-and-compare gc is really very simple. [Review board in
Github|https://github.com/WangJiannan/bookkeeper/compare/trunk...BOOKKEEPER-590]
# BOOKKEEPER-438 abstracts the ledger id generation into a LedgerIdGenerator
interface and move previous ledger id generation in FlatLedgerManager,
HierarchicalLedgerManager and MSLedgerManager to common class
ZkLedgerIdGenerator. [Review board in
Github|https://github.com/WangJiannan/bookkeeper/compare/BOOKKEEPER-590...BOOKKEEPER-438]
# BOOKKEEPER-552 implements ZkBatchLedgerIdGenerator class to generate
ledger id in batch.[Review board in
Github|https://github.com/WangJiannan/bookkeeper/compare/BOOKKEEPER-438...BOOKKEEPER-552]
# BOOKKEEPER-553 trys to manage ledger metadata with 64-bits ledger id in
ZooKeeper which at the mean time ensures there will be no too many children in
any relevant znode.[Review board in
Github|https://github.com/WangJiannan/bookkeeper/compare/BOOKKEEPER-552...BOOKKEEPER-553]
# BOOKKEEPER-591 manage to handle backward compatibility but eventually I
find there is no action item once BOOKKEEPER-590 is fixed.
By the way, I recommend reviewer reviews code in github since the patch I
attach includes changes that it depends on.
> ledger ids are long, but they are stored in zk as 10 characters max, which
> fundamentally limits them at 9 billion
> -----------------------------------------------------------------------------------------------------------------
>
> Key: BOOKKEEPER-421
> URL: https://issues.apache.org/jira/browse/BOOKKEEPER-421
> Project: Bookkeeper
> Issue Type: Bug
> Components: bookkeeper-client, bookkeeper-server, hedwig-server
> Reporter: Ivan Kelly
> Assignee: Jiannan Wang
> Priority: Critical
> Fix For: 4.3.0
>
>
> {code}
> public static String getZKStringId(long id) {
> return String.format("%010d", id);
> }
> {code}
> Simple to fix, but we need it be backward compatible, which also shouldn't be
> a problem.
--
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