Outlier detection behavior for client cancellations and hedged streams
- Dominant language
- Java
- Stars
- 12.1k
- Forks
- 4k
- Avg merge
- 2d 17h
- Merged PRs (30d)
- 37
Description
The stream tracer for outlier detection seems to [record each stream closure](https://github.com/grpc/grpc-java/blob/3db3235ebdc5b73afaef24f790f2ef9e8300b10b/util/src/main/java/io/grpc/util/OutlierDetectionLoadBalancer.java#L487) with `status.isOk() != true` as an error. The rate of success is then used for success rate and failure percentage outlier detectors.
I'd like to understand more as to what happens in the following cases:
- A hedged stream is cancelled because another winning stream was committed.
- The client cancels the call due to context expiration or any other reason unrelated to the call itself.
Would it still be recorded as an error and accounted for outlier detection?
Contributor guide
Assessment
This issue has not been assessed yet.