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

Uma Maheswara Rao G commented on BOOKKEEPER-246:
------------------------------------------------

- 
{noformat}
@Override
+    public void markLedgerComplete(long ledgerId) throws 
ReplicationException.UnavailableException {
+        try {
+            zkc.delete(getUrLedgerZnode(ledgerId), -1);
+        } catch (KeeperException.NoNodeException nne) {
{noformat}
  This delete call can fail with NodeNotEMpty exception as, lock file   will 
present inside that.

- 
I was written most of this node fetching code in Replication wroker. I like 
this abstraction. Implemented the Lock in separate class and make use of it. 
Already filed a JIRA BOOKKEEPER-305

- 
Also other case while deleting ledger node is
When other peers trying to aquire the lock for same node also, they will create 
one lock file, at the same time if the current node trying to delete the 
ledgerNode, then also NotEmpty exception can come. On exception may be better 
to call recursive delete api from ZKUtils?


- 
As per my understanding Rakesh is trying to update the multiple bookie failure 
to the same ledger under replicated Znode with some data, ex: BKIP:port1, 
BKIP:port2. SO, that current replication should check the version number for 
deleting the ledger znode. otherwise we may end up deleting that znode right?



- One question:
markLedgerUnderreplicated api will be used by Auditor.
getLedgerToRereplicate & markLedgerComplete apis will be used by 
ReplicationWorker right?

                
> 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
>
>
> 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