twitter/finagle

ExceptionSourceFilter does not properly attribute CancelledRequestExceptions

Open

#760 opened on Mar 13, 2019

View on GitHub
 (1 comment) (0 reactions) (0 assignees)Scala (8,864 stars) (1,435 forks)batch import
help wanted

Description

ExceptionSourceFilter does not properly attribute CancelledRequestExceptions

Expected behavior

The source should be attributed to the client (or at least not to the downstream service)

Actual behavior

When a future is cancelled by a client, the source is still attributed to the downstream service. This leads to confusion when the error message is along the lines of:

com.twitter.finagle.CancelledRequestException: request cancelled. Remote Info: Upstream Address: Not Available, Upstream id: Not Available, Downstream Address: my.downstream.host/X.X.X.X:443, Downstream label: my.downstream.host:443, Trace Id: efdec7e41b7c30fa.d535d24f770f3fa8<:efdec7e41b7c30fa

even though the downstream was not involved in the request at all.

Steps to reproduce the behavior

Cancel a future and observe the attribution from ExceptionSourceFilter.

Contributor guide