-
Notifications
You must be signed in to change notification settings - Fork 6
Description
When passing a Baggage the default behavior is to serialize the Dictionary into a JSON, but the size is not validated thus leading to an exception when trying to deserialize the header rbs-ot-correlation-context
.
The problem here is when that happens the Exceptions are not being handled, it is not forwarded to the error queue, thus leading to an infinite loop of message processing. Soon I'll try to attach a reproducible sample.
The line that can raise that exception is
Rebus.OpenTelemetry/Rebus.Diagnostics/Diagnostics/Incoming/IncomingDiagnosticsStep.cs
Line 82 in 8519b2b
var baggage = |
I think we can change the step index to be after the error handling step instead of being the first one or maybe the baggage shouldn't affect the message handling.
Rebus.OpenTelemetry/Rebus.Diagnostics/Config/DiagnosticSourcesConfigurationExtensions.cs
Line 31 in 8519b2b
concatenator.OnReceive(incomingStep, PipelineAbsolutePosition.Front); |