Hello Kudu Jenkins, I'd like you to reexamine a change. Please visit
http://gerrit.cloudera.org:8080/3952 to look at the new patch set (#24). Change subject: KUDU-456 Implement AUTO_FLUSH_BACKGROUND flush mode ...................................................................... KUDU-456 Implement AUTO_FLUSH_BACKGROUND flush mode Implemented AUTO_FLUSH_BACKGROUND for the Kudu C++ client library. In AUTO_FLUSH_BACKGROUND mode, the KuduSession::Apply() method blocks if total amount of data for pending operations reaches the buffer size limit. The limit on the buffer size can be set by the KuduSession::SetMutationBufferSpace() method. The background flush logic checks whether at least one of the following two conditions is satisfied to determine whether it's time to flush the accumulated write operations: * The over-the-watermark criterion: check whether the total size of the freshly submitted (i.e. not-yet-scheduled-for-flush) write operations is over the threshold. The threshold can be set as the percentage of the total buffer size using the KuduSession::SetMutationBufferFlushWatermark() method. * The maximum wait time criterion: check whether the current batch of operations has been accumulating for more than the maximum wait time. The maximum wait time can be specified in milliseconds using the KuduSession::SetMutationBufferFlushInterval() method. A KuduSession object uses RPC messenger's thread pool to monitor batches' maximum wait time. Added functionality to control the maximum number of batchers per session. If number of batchers is at the limit already, KuduSession::Apply() blocks until it's possible to add a new batcher to accommodate the incoming operation. Modified behavior of the KuduSession::Flush(): now it waits until all batchers are flushed before returning. This change also addresses the following JIRA issue: KUDU-1376 KuduSession::SetMutationBufferSpace is not defined Change-Id: I34905c30b3aad96f53cf7a1822b1cde6d25f33a8 --- M python/kudu/tests/test_client.py M src/kudu/client/batcher.cc M src/kudu/client/batcher.h M src/kudu/client/client-internal.h M src/kudu/client/client-test.cc M src/kudu/client/client.cc M src/kudu/client/client.h M src/kudu/client/error_collector.cc M src/kudu/client/error_collector.h M src/kudu/client/session-internal.cc M src/kudu/client/session-internal.h M src/kudu/client/write_op.cc M src/kudu/client/write_op.h 13 files changed, 1,517 insertions(+), 238 deletions(-) git pull ssh://gerrit.cloudera.org:29418/kudu refs/changes/52/3952/24 -- To view, visit http://gerrit.cloudera.org:8080/3952 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-MessageType: newpatchset Gerrit-Change-Id: I34905c30b3aad96f53cf7a1822b1cde6d25f33a8 Gerrit-PatchSet: 24 Gerrit-Project: kudu Gerrit-Branch: master Gerrit-Owner: Alexey Serbin <aser...@cloudera.com> Gerrit-Reviewer: Adar Dembo <a...@cloudera.com> Gerrit-Reviewer: Alexey Serbin <aser...@cloudera.com> Gerrit-Reviewer: Dan Burkert <d...@cloudera.com> Gerrit-Reviewer: Dinesh Bhat <din...@cloudera.com> Gerrit-Reviewer: Kudu Jenkins Gerrit-Reviewer: Todd Lipcon <t...@apache.org>