[ 
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

        

Reply via email to