Hi Ah okay so it's not the "too much" is copied over. But the fact before the rollback_last was stored as property, which had 3 states: null, true, false And now its optimized into a simple boolean that has: true, false
On Wed, Apr 7, 2021 at 7:15 PM Benjamin Graf <benjamin.g...@gmx.net> wrote: > > Hi Clause, > > well, the code is quite to complex to put it into an easy test case. But > I can share the idea. We're using nested transaction to separate > incoming MQ system from several transactional systems. In case of error > we do disqualify message to kind of deadletter queue and rollback all > actions already done. That's why we use rollbackonlylast feature to let > initial jms transaction being committed successfully, while all other > operations are rollbacked. But with multicast the rollbackonlylast of > parent exchange is set to false again after child exchange has been > handled by transactional errorhandler and copy of state in > MulticastProcessor has been done. Since this change has been introduced > with Camel 3.1 the question is whether too much information is copied > from child to parent or not. > > Best regards > > Benjamin > > On 07.04.2021 15:42, Claus Ibsen wrote: > > Hi > > > > I suggest if you can put together a small example / unit test or > > something that demonstrates what you are doing and why you need to do > > custom error handling. > > And put it on github or in a JIRA ticket. > > > > > > On Tue, Apr 6, 2021 at 10:13 AM Benjamin Graf <benjamin.g...@gmx.net> wrote: > >> Hi together, > >> > >> https://issues.apache.org/jira/browse/CAMEL-14354 introduces a change to > >> ExchangeHelper to copy internal state of child exchanges to parent > >> exchanges. Especially the code addition from > >> https://github.com/apache/camel/blob/a9fd03f1d022a48553207ab59e42f35b8cd6c325/core/camel-support/src/main/java/org/apache/camel/support/ExchangeHelper.java#L417-L418 > >> is causing troubles for my custom error handling policy because rollback > >> states are set to false on parent after errorhandler has set it back to > >> false on child exchange and multicast does the copy over. This makes my > >> transaction separation actually impossible for multicast use cases causing > >> rollbacks to AMQ and DLQ the latter one. > >> > >> Is this really intended or maybe a bug/race condition of the patch after > >> 3.1 ongoing? > >> > >> Best regards > >> Benjamin > > > > > -- Claus Ibsen ----------------- http://davsclaus.com @davsclaus Camel in Action 2: https://www.manning.com/ibsen2