[
https://issues.apache.org/jira/browse/CAMEL-23032?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Michael Weiss updated CAMEL-23032:
----------------------------------
Description:
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 InOnly as well
pullSubscription: false
servers: nats:4222
topic: "456"
steps: - log: id: log-2580
message: ${body}
- setBody: groovy: expression: |
1/0
- to: uri: log:logger
{code}
was:
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
Environment: (was: 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 InOnly as well
pullSubscription: false
servers: nats:4222
topic: "456"
steps:
- log:
id: log-2580
message: ${body}
- setBody:
groovy:
expression: |
1/0
- to:
uri: log:logger
{code})
> 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
> Reporter: Michael Weiss
> Priority: Major
>
> 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 InOnly as well
> pullSubscription: false
> servers: nats:4222
> topic: "456"
> steps: - log: id: log-2580
> message: ${body}
> - setBody: groovy: expression: |
> 1/0
> - to: uri: log:logger
> {code}
--
This message was sent by Atlassian Jira
(v8.20.10#820010)