[ 
https://issues.apache.org/jira/browse/CAMEL-23032?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=18061325#comment-18061325
 ] 

Michael Weiss commented on CAMEL-23032:
---------------------------------------

Ok, this is weird. So you say camel doesn't acknowledge at all? What I have 
observed in 4.17.0/4.18.0 is some kind of auto-ack from the client, immediately 
after the message is received. There is no ackWait or redelivery happening when 
I  provoke an exchange processing error in the camel route.

In the current situation it is not possible to do deadlettering with this 
"observed" auto-ack.

I am eagerly waiting and will test the new ack/nack feature once it's available 
and give feedback.

 

> camel-nats consumer sends ACK regardless of the Exchange processing/delivery 
> result
> -----------------------------------------------------------------------------------
>
>                 Key: CAMEL-23032
>                 URL: https://issues.apache.org/jira/browse/CAMEL-23032
>             Project: Camel
>          Issue Type: Bug
>          Components: camel-nats
>    Affects Versions: 4.17.0, 4.18.0
>            Reporter: Michael Weiss
>            Assignee: Claus Ibsen
>            Priority: Minor
>             Fix For: 4.18.1, 4.19.0
>
>
> h3. Expected behaviour
> NATS consumer only acknowledges message that are successfully routed to the 
> producer, so they can be redelivered in case of an error. This is the 
> behaviour seen on other Message Queue Consumers like RabbitMQ.
> h3. Tested behaviour
> NATS consumer acknowledges any messages, regardless of if the Exchange 
> processing fails or suceeds
> h3. Impact
> Messages are lost and cannot be redelivered
> h3. Example
> Test route with a built in error. Consumer sends ACK even when the Exchange 
> fails:
> {code:yaml}
> - route:
>     id: route-3401
>     from:
>       id: from-2566
>       uri: nats
>       parameters:
>         jetstreamEnabled: true
>         jetstreamName: test
>         durableName: camel
>         exchangePattern: InOut     # Tested with InOnly as well
>         pullSubscription: false
>         servers: nats:4222
>         topic: "456"
>       steps:
>         - log:
>             id: log-2580
>             message: ${body}
>         - setBody:
>             disabled: false
>             groovy:
>               expression: |
>                 1/0
>         - to:
>             uri: log:logger
> {code}



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to