Hello Alexey Serbin, Kudu Jenkins, I'd like you to reexamine a change. Please visit
http://gerrit.cloudera.org:8080/3628 to look at the new patch set (#16). Change subject: Add time/watermark based garbage collection to ResultTracker ...................................................................... Add time/watermark based garbage collection to ResultTracker This adds time and watermark based garbage collection to the ResultTracker. Regarding time GC, there are two ttl's, a client ttl and a response ttl. After the response ttl has elapsed, we garbage collect responses but the ResultTracker remembers that it doesn't know them, so if the client retries a request older than that it gets a meaningful error back, stating that the request is stale. After the client ttl period without hearing back from a client, we GC the client state entirely, meaning all requests from that client will be treated as new. Regarding watermark GC the algorithm is simple, we trust the client to tell us what's its lowest incomplete sequence number and we GC everything below that. This adds a simple test that makes sure this basically works, and adds a multithreaded test that runs GC at the same time as writes. NOTE: this does not wire the time-based garbage collection process into the server itself -- it's currently only triggered by the included tests. Original patch by David. Some changes by Todd. Change-Id: I2c8e7b7191ca14842a31b64813ed498bdf626fa8 --- M src/kudu/integration-tests/exactly_once_writes-itest.cc M src/kudu/rpc/CMakeLists.txt A src/kudu/rpc/exactly_once_rpc-test.cc M src/kudu/rpc/result_tracker.cc M src/kudu/rpc/result_tracker.h M src/kudu/rpc/retriable_rpc.h D src/kudu/rpc/rpc-stress-test.cc M src/kudu/rpc/rpc_header.proto M src/kudu/rpc/service_if.cc M src/kudu/tablet/tablet_bootstrap.cc M src/kudu/tablet/transactions/transaction_driver.cc 11 files changed, 784 insertions(+), 423 deletions(-) git pull ssh://gerrit.cloudera.org:29418/kudu refs/changes/28/3628/16 -- To view, visit http://gerrit.cloudera.org:8080/3628 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-MessageType: newpatchset Gerrit-Change-Id: I2c8e7b7191ca14842a31b64813ed498bdf626fa8 Gerrit-PatchSet: 16 Gerrit-Project: kudu Gerrit-Branch: master Gerrit-Owner: David Ribeiro Alves <dral...@apache.org> Gerrit-Reviewer: Alexey Serbin <aser...@cloudera.com> Gerrit-Reviewer: David Ribeiro Alves <dral...@apache.org> Gerrit-Reviewer: Jean-Daniel Cryans <jdcry...@apache.org> Gerrit-Reviewer: Kudu Jenkins Gerrit-Reviewer: Todd Lipcon <t...@apache.org>