Alexey Serbin has uploaded a new change for review. http://gerrit.cloudera.org:8080/3952
Change subject: KUDU-456 Implement AUTO_FLUSH_BACKGROUND flush mode ...................................................................... KUDU-456 Implement AUTO_FLUSH_BACKGROUND flush mode Implemented AUTO_FLUSH_BACKGROUND for C++ client library. KuduSession instance uses 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 limit on the buffer size. The limit on the buffer size can be set by KuduSession::SetMutationBufferSpace() or via the --client_buffer_bytes_limit command-line flag. The background flusher uses high-watermark approach for its flush criterion: it counts buffer size used by not-yet-flushed (i.e. freshly submitted) write operations and checks whether the specified threshold is reached. The threshold can be set via the --client_buffer_hw_pct command-line flag as a percentage of the total buffer space. This change also addresses the following JIRA issue(s): 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 11 files changed, 951 insertions(+), 149 deletions(-) git pull ssh://gerrit.cloudera.org:29418/kudu refs/changes/52/3952/1 -- To view, visit http://gerrit.cloudera.org:8080/3952 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-MessageType: newchange Gerrit-Change-Id: I34905c30b3aad96f53cf7a1822b1cde6d25f33a8 Gerrit-PatchSet: 1 Gerrit-Project: kudu Gerrit-Branch: master Gerrit-Owner: Alexey Serbin <[email protected]>
