Claus Ibsen created CAMEL-25588:
-----------------------------------
Summary: camel-sql, camel-mybatis, camel-jooq - an exchange marked
rollback only last is not consumed either
Key: CAMEL-25588
URL: https://issues.apache.org/jira/browse/CAMEL-25588
Project: Camel
Issue Type: Bug
Components: camel-jooq, camel-mybatis, camel-sql
Reporter: Claus Ibsen
Fix For: 4.24.0
CAMEL-25550 makes the JPA and Hazelcast SEDA consumers leave a message
unconsumed when the route marks the exchange rollback only, with
{{markRollbackOnly()}} or {{markRollbackOnlyLast()}}. The earlier fixes for the
SQL, MyBatis and jOOQ consumers check only {{isRollbackOnly()}}
({{SqlConsumer}}, {{MyBatisConsumer}}, {{JooqConsumer}}), so an exchange marked
with {{markRollbackOnlyLast()}} is still treated as a success there and the row
is consumed.
{{markRollbackOnlyLast()}} reaches the consumer only when no {{transacted()}}
EIP has consumed the flag ({{TransactionErrorHandler}} clears it), and then the
consumer's own transaction is the last one, so it should be rolled back as well.
Found in the review of https://github.com/apache/camel/pull/27681
--
This message was sent by Atlassian Jira
(v8.20.10#820010)