You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@kudu.apache.org by "David Alves (JIRA)" <ji...@apache.org> on 2016/10/12 23:41:20 UTC
[jira] [Created] (KUDU-1697) Operations that have to wait for a
certain time/condition to pass shouldn't block threads
David Alves created KUDU-1697:
---------------------------------
Summary: Operations that have to wait for a certain time/condition to pass shouldn't block threads
Key: KUDU-1697
URL: https://issues.apache.org/jira/browse/KUDU-1697
Project: Kudu
Issue Type: Improvement
Reporter: David Alves
Certain operations, like waiting for a scan timestamp to be "safe" before proceeding with the scan, or waiting in the context of commit-wait in the transaction manager can easily block threads which will starve all other work.
Both these operation end up calling WaitUntilAfter() or WaitUntilAfterLocally() on the HybridClock. We should use a notification mechanism instead, i.e. NotifyMeAfter(ts, &callback, &thread_pool), NotifyMeAfterLocally(ts, &callback, &thread_pool).
Similar reversals should likely be made on the MvccManager's WaitForCleanSnapshotAtTimestamp() and WaitForCleanSnapshot().
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)