[ 
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

Reply via email to