Dylan Piergies created CAMEL-20660:
--------------------------------------
Summary: camel-azure-servicebus: Consumer fails to acknowledge
messages
Key: CAMEL-20660
URL: https://issues.apache.org/jira/browse/CAMEL-20660
Project: Camel
Issue Type: Bug
Components: camel-azure
Affects Versions: 4.5.0, 4.4.1, 4.4.0
Reporter: Dylan Piergies
We have observed issues with the Service Bus consumer from Camel 4.4+ where
consumed messages are not acknowledged/completed correctly and landing in the
dead-letter queue, despite the Exchange having successfully delivered the
message to its destination.
Our routes all follow the general form:
{{from(azureServicebus(...))}}
{{ // ...}}
{{ .to(https(...))}}
{{ .log("Message delivered to...");}}
In our logs, we are seeing the message from the final {{log}} EIP and we can
confirm that the message has been delivered to the destination service, but
this is often followed by a log message from the
{{com.azure.messaging.servicebus.ServiceBusReceiverAsyncClient}} logger:
{{Cannot perform operation 'completed' on a disposed receiver.}}
We then see many of these messages arriving in the DLQ, once the retry count is
exceeded.
The issue is difficult to create a reproduction for: it is intermittent and
occurs most frequently during a spike in message volumes.
The issue disappears after downgrading Camel to 4.3.0.
Whilst we do not know the root cause for sure, we suspect this may be a defect
of CAMEL-19262, occurring when the invocation of
{{clientWrapper.complete(message).subscribeOn(...)}} executes after the logic
to close and recreate the client has been triggered some time between reading
the message and attempting to complete it.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)