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)

Reply via email to