You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I wanted to use both features for consume -> process -> produce applications
When i use Transaction with Blocking Retry, DLT Recover the flow is :
When exception is raised from the listener, the transaction is rollback and then a new transaction is created for the send to DLT, OK fine.
On the oher side, when i use Transaction with Non Blocking Retry the flow is more like that :
When exception is raised from the listener, the transaction is not rollback, the message is send to retry topic and finally the transaction is comited. Then consumer offsets is commit plus the messages out and messages to retry topic. If an exception is raised i want my messages out to be not comited.
It's not what i expected, i expected a flow like that :
Did i miss something with the configuration ? I use standard configuration, with one kafkatemplate, with transactional producer
Or maybe did i misunderstood the Non Blocking Retry pattern, Transactions are not intended to be combined with ?
Sorry for my poor english...
Testing with 'org.springframework.boot' version '3.1.1-SNAPSHOT', spring-kafka version 3.0.8
reacted with thumbs up emoji reacted with thumbs down emoji reacted with laugh emoji reacted with hooray emoji reacted with confused emoji reacted with heart emoji reacted with rocket emoji reacted with eyes emoji
-
Hello,
I wanted to use both features for consume -> process -> produce applications
When i use Transaction with Blocking Retry, DLT Recover the flow is :

When exception is raised from the listener, the transaction is rollback and then a new transaction is created for the send to DLT, OK fine.
On the oher side, when i use Transaction with Non Blocking Retry the flow is more like that :

When exception is raised from the listener, the transaction is not rollback, the message is send to retry topic and finally the transaction is comited. Then consumer offsets is commit plus the messages out and messages to retry topic. If an exception is raised i want my messages out to be not comited.
It's not what i expected, i expected a flow like that :

Did i miss something with the configuration ? I use standard configuration, with one kafkatemplate, with transactional producer
Or maybe did i misunderstood the Non Blocking Retry pattern, Transactions are not intended to be combined with ?
Sorry for my poor english...
Testing with 'org.springframework.boot' version '3.1.1-SNAPSHOT', spring-kafka version 3.0.8
Thanks
Beta Was this translation helpful? Give feedback.
All reactions