[
https://issues.apache.org/jira/browse/BOOKKEEPER-325?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13446132#comment-13446132
]
Uma Maheswara Rao G commented on BOOKKEEPER-325:
------------------------------------------------
{code}
while (workerRunning) {
long ledgerIdToReplicate = getDeferredLedger();
if (ledgerIdToReplicate == -1) {
ledgerIdToReplicate = underreplManager.getLedgerToRereplicate();
}
}{code}
I think here the issue is,
if I have one ledger in under replicated and that last fragment is in open
state, I may add that ledger to differedLedger list with holding the lock
right. But getLedgerToRereplicate is a blocking call right. So, RW loop will
not comeback again until some one releases lock or new underReplicated ledger
added in ZK. That might be one reason for me to push that work to diff thread,
that can check the status.
Am i missed something from your suggestion here?
> Delay the replication of a ledger if RW found that its last fragment is in
> underReplication.
> --------------------------------------------------------------------------------------------
>
> Key: BOOKKEEPER-325
> URL: https://issues.apache.org/jira/browse/BOOKKEEPER-325
> Project: Bookkeeper
> Issue Type: Sub-task
> Components: bookkeeper-auto-recovery
> Affects Versions: 4.2.0
> Reporter: Uma Maheswara Rao G
> Assignee: Uma Maheswara Rao G
> Attachments: BOOKKEEPER-325.patch
>
>
> When RW found that ledger's last fragment is in underReplication state, then
> we should delay that ledger replication for some grace period. optimally we
> can replicate other fragments.
> The idea is, Whenever it finds the last fragement is under replicated, It can
> add into PendingReplication list.
> There will be a small daemon, which will check for the timeouts of this
> ledgers.
> Once it timed out , it will trigger the normal replication process if it is
> not in last fragment. Otherwise, it will fence the ledger and will trigger
> the replication nomally.
> see the discussion for more info:
> http://markmail.org/message/ruhhxxgvuqnjlu2s#query:+page:1+mid:f6ifo4sizulwiaem+state:results
--
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