H2ClientParentConnectionContext.StacklessCancellationException was reused by SpliceFlatStreamToMetaSingle, which created a false impression in logs that this exception is related to HTTP/2.
We should capture the Subscriber's stack-trace for CancellationException in BeforeFinallyHttpOperator instead of a netty stack-trace, it will help to debug paths that subscribe to the payload post cancel.
Modifications:
Make H2ClientParentConnectionContext.StacklessCancellationException a top-level class.
Wrap CancellationException with Publisher.defer(...) in BeforeFinallyHttpOperator.
Add an exception message in DefaultBlockingIterableProcessor.
Result:
Easier for users to reason about received CancellationException.
Motivation:
H2ClientParentConnectionContext.StacklessCancellationException
was reused bySpliceFlatStreamToMetaSingle
, which created a false impression in logs that this exception is related to HTTP/2.CancellationException
inBeforeFinallyHttpOperator
instead of a netty stack-trace, it will help to debug paths that subscribe to the payload post cancel.Modifications:
H2ClientParentConnectionContext.StacklessCancellationException
a top-level class.CancellationException
withPublisher.defer(...)
inBeforeFinallyHttpOperator
.DefaultBlockingIterableProcessor
.Result:
Easier for users to reason about received
CancellationException
.