Adar Dembo has posted comments on this change.

Change subject: KUDU-1542: in some cases apply will hang.

Patch Set 4:

> > The problem: with AUTO_FLUSH_SYNC, apply() can loop forever if each
 > > retry  throws a PleaseThrottleException. It's not quite looping
 > > forever though; it's just that there's nothing stopping this
 > > operation from hitting "bad luck" in every call to apply() and
 > > getting repeatedly starved by other operations. Is that right?
 > >
 > > If that's accurate, I don't think this is the right approach to
 > > fixing the problem. Instead, we should prioritize this operation
 > > (the one that saw a PTE) such that after it waits on the PTE's
 > > deferred and retries, it cannot be starved by any operation that
 > > comes afterward.
 > The intent of KuduSession is that it's not thread-safe, so if
 > you're waiting on a Deferred, when it clears you should be the only
 > one applying.

Oh. So the issue is simpler. There are only two operations: the one before 
(which is taking forever to flush), and the current one, and apply() on the 
current one repeatedly throws PTEs, which we are timing out on. Is that right?

In that case the deadline approach is definitely what we should pursue.

To view, visit
To unsubscribe, visit

Gerrit-MessageType: comment
Gerrit-Change-Id: Iacd33cdc5316e294e613d1b2273ef12e6b1cf687
Gerrit-PatchSet: 4
Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-Owner: song bruce zhang <>
Gerrit-Reviewer: Adar Dembo <>
Gerrit-Reviewer: Jean-Daniel Cryans <>
Gerrit-Reviewer: Kudu Jenkins
Gerrit-Reviewer: song bruce zhang <>
Gerrit-HasComments: No

Reply via email to