[ https://issues.apache.org/jira/browse/BOOKKEEPER-246?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13426631#comment-13426631 ]
Sijie Guo commented on BOOKKEEPER-246: -------------------------------------- I had several comments about this jira. 1) the test case you added is for testing ZkLedgerUnderreplicationManager. As my understanding, we had a clean interface. So I think the tests are using this interface not depends on a specific implementation. so why not make the test generic at first time, so we don't need to change it in future. 2) from the experiences on LedgerManager, putting too many entries into a single znode is not a good idea, so we had HierarchicalLedgerManager. for now, we are building a new zookeeper layout for under-replication ledgers, we should not let it to become a new problem. so we'd consider hierarchical for under-replication ledgers, since we could not assume a too-big znode would not happen in reality. 3) I am thinking is there any relationship between LedgerManagerFactory and LedgerUnderreplicationManager. since metadata could be store in other storage like HBase, it doesn't make sense if we store ledger metadata in HBase while putting underreplication ledgers in ZookKeeper. so is it possible to add an interface in LedgerManagerFactory to return its underreplication ledger manager. {code} public interface LedgerManagerFactory { ... public LedgerUnderreplicationManager newLedgerUnderreplicationManager(); } {code} so for HierarchicalLedgerManagerFactory and FlatLedgerManagerFactory, they could use same ZkLedgerUnderreplicationManager. for other implementation of LedgerManagerFactory, we force them to consider implementing their underreplication manager. of course, they could also leverage existed ZkUnderreplicationManager as its solution. > Recording of underreplication of ledger entries > ----------------------------------------------- > > Key: BOOKKEEPER-246 > URL: https://issues.apache.org/jira/browse/BOOKKEEPER-246 > Project: Bookkeeper > Issue Type: Sub-task > Components: bookkeeper-client, bookkeeper-server > Reporter: Ivan Kelly > Assignee: Ivan Kelly > Fix For: 4.2.0 > > Attachments: BOOKKEEPER-246.diff, BOOKKEEPER-246.diff, > BOOKKEEPER-246.diff > > > This JIRA is to decide how to record that entries in a ledger are > underreplicated. > I think there is a common understanding (correct me if im wrong), that > rereplication can be broken into two logically distinct phases. A) Detection > of entry underreplication & B) Rereplication. > This subtask is to handle the interaction between these two stages. Stage B > needs to know what to rereplicate; how should Stage A inform it? -- 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