Issue a backup request after a threshold time has elapsed, useful for curtailing tail latencies in distributed systems.
Issue a backup request after a threshold time has elapsed, useful for curtailing tail latencies in distributed systems. See [1] for details.
Several stats are exported through the given stats receiver exposing the filter's operating behavior:
timeouts
indicates the number of original requests
that timed out and subsequently caused a backup request to
be issued;won
indicates the number of original requests that won,
including those that didn't actually race with a backup;lost
indicates the number of original requests that lost
a race with their corresponding backup request, and finallycutoff_ms
indicates the current backup request cutoff value
in milliseconds.[1]: Dean, J. and Barroso, L.A. (2013), The Tail at Scale, Communications of the ACM, Vol. 56 No. 2, Pages 74-80, http://cacm.acm.org/magazines/2013/2/160173-the-tail-at-scale/fulltext
A filter alone cannot guarantee that a request is dispatched onto a different endpoint from the original. Eventually, this should be implemented as a sort of queueing policy.
,Care must be taken to ensure that application of this filter preserves semantics since a request may be issued twice (ie. they are idempotent).
Forwards dark traffic to the given service when the given function returns true for a request.
A filter that forwards thrift requests to a specified service.
A filter that forwards thrift requests to a specified service. It enables a smooth start of processing the requests by slowly increasing the percentage of requests that are being processed and lowering the amount of requests that are being forwarded.