Skip to content

Trace information is missing when Exception is thrown from RabbitListener methods #1306

@jonatan-ivanov

Description

@jonatan-ivanov

Affects Version(s): All currently supported versions (including 2.3.4)


Bug report

The issue was originally reported for Spring Cloud Sleuth but it seems it is not a Sleuth issue (and I can't transfer issues across orgs) so I'm opening this one to track it at the right place.

The original issue is this: spring-cloud/spring-cloud-sleuth#1660 opened by @goober
It contains the necessary details to understand what is going on, a sample project that reproduces the issue, some investigation details, a workaround, and a proposed fix (which is a breaking change):

Describe the bug
When an exception is thrown from a method annotated with @RabbitListener all trace information is lost when it reaches the ConditionalRejectingErrorHandler

Sample
I have created a minimal application that reproduces the issue with a little more context that can be found here:
https://github.com/goober/spring-sleuth-rabbit-bug

The original sample project uses spring-boot 2.3.0.RELEASE that brings in spring-amqp 2.2.6.RELEASE but the issue must be present in the latest spring-amqp too (2.3.4).

Sample project: https://github.com/goober/spring-sleuth-rabbit-bug
Investigation details: spring-cloud/spring-cloud-sleuth#1660 (comment)
Proposed workaround: spring-cloud/spring-cloud-sleuth#1660 (comment)
Possible fix (breaking change): #1287

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions