[ 
https://issues.apache.org/jira/browse/BOOKKEEPER-246?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13422969#comment-13422969
 ] 

Rakesh R commented on BOOKKEEPER-246:
-------------------------------------

@Ivan. Latest patch is looking nice. Just small comments which I missed:

- It would be good to heldLocks.remove(ledgerId); only after successful 
'zkc.delete(l.getLockZNode(), -1)'. This will reduce the chance of zk orphan 
locks ? Whats your opinion.
{code}
public void releaseLedger(long ledgerId)
  try {
    Lock l = heldLocks.remove(ledgerId);
    if (l != null) {
       zkc.delete(l.getLockZNode(), -1);
    }
    
  }catch block
{code}

- I'm having one general doubt, the way handling small zookeeper fluctutations. 
Say, ReplicationWorker has acquired the lock and finished rereplication. Assume 
ZK server got partitioned for a second, when it tries to either 
??markLedgerComplete(ledgerId)?? or ??releaseLedger(ledgerId)?? and will get 
the KeeperException.
I think this is not very straightaway to this JIRA, but other modules like 
auditor and the replication workers are using these apis and will get these 
exceptions. I guess its basically a kind of cleanup.
Actually I'd like to discuss any special handling of zk connectionloss 
KeeperException?

                
> 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