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 (#4).
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.
KuduSession objects use RPC messenger's thread pool to schedule
background flush tasks. In AUTO_FLUSH_BACKGROUND mode,
the KuduSession::Apply() method blocks if total amount of data
for operations not pushed to server reaches the buffer size limit.
The limit on the buffer size can be set by the
KuduSession::SetMutationBufferSpace() method or via the
--client_buffer_bytes_limit command-line flag.
The background flusher checks whether at least one of the following two
conditions is satisfied to determine whether it's time to flush
the accumulated write operations:
* over-the-waterline criterion: check whether the total size of the
freshly submitted (i.e. not-scheduled-for-flush) write operations
is over the threshold. The threshold can be set as a percentage
of the total buffer size using the
--client_buffer_flush_waterline_pct command-line flag.
* maximum wait time criterion: check whether the previous flush
happened more than the maximum wait time ago. The maximum wait time
can be specified in milliseconds using the
--client_buffer_flush_timeout_ms command-line flag.
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/session-internal.cc
M src/kudu/client/session-internal.h
M src/kudu/util/monotime.cc
M src/kudu/util/monotime.h
M src/kudu/util/stopwatch.h
12 files changed, 990 insertions(+), 151 deletions(-)
git pull ssh://gerrit.cloudera.org:29418/kudu refs/changes/52/3952/4
--
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: 4
Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-Owner: Alexey Serbin <[email protected]>
Gerrit-Reviewer: Kudu Jenkins