wushinanqiyi opened a new pull request, #3532: URL: https://github.com/apache/brpc/pull/3532
### What problem does this PR solve? Canceled RPCs use ECANCELED, which currently contributes to circuit-breaker error statistics and immediately reopens a half-open circuit. Caller cancellation does not indicate a downstream server failure. ### What is changed and the side effects? Ignore ECANCELED alongside ELIMIT at the start of CircuitBreaker::OnCallEnd. Canceled requests do not affect sampling, error cost, latency, or the successful half-open probe count. Add regression tests for cancellation during initialization, interleaved cancellation after initialization, and cancellation in the half-open state. The tests also check that genuine errors still trigger isolation. Performance effects: one additional error-code comparison per call. Breaking backward compatibility: no API changes; cancellation no longer causes circuit-breaker isolation. ### Validation - git diff --check: passed. - Native brpc unit tests: not run locally; this Windows host has no configured Linux/WSL build environment or brpc dependencies. Linux/macOS CI validation is still required. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected] --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
