Todd Lipcon has submitted this change and it was merged.
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
Original patch by David.
Some changes by Todd.
Reviewed-by: Adar Dembo <a...@cloudera.com>
Tested-by: Todd Lipcon <t...@apache.org>
11 files changed, 797 insertions(+), 428 deletions(-)
Adar Dembo: Looks good to me, approved
Todd Lipcon: Verified
To view, visit http://gerrit.cloudera.org:8080/3628
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings
Gerrit-Owner: David Ribeiro Alves <dral...@apache.org>
Gerrit-Reviewer: Adar Dembo <a...@cloudera.com>
Gerrit-Reviewer: Alexey Serbin <aser...@cloudera.com>
Gerrit-Reviewer: Dan Burkert <d...@cloudera.com>
Gerrit-Reviewer: David Ribeiro Alves <dral...@apache.org>
Gerrit-Reviewer: Jean-Daniel Cryans <jdcry...@apache.org>
Gerrit-Reviewer: Todd Lipcon <t...@apache.org>