Bug: DB transaction component not probably deactivated in inactive path


a follow-up to this post https://forum.knime.com/t/using-db-transaction-inside-a-loop/
A DB transaction nested inside a loop does not get deactivated correctly in a inactive branch, like in a case switch scenario. The transaction gets deactivated correctly, when the transaction is not nested inside a component.

Following error message is returned: Unable to merge flow object stacks: Conflicting FlowObjects: Try-Catch Context vs. Try-Catch Context (loops/scopes not properly nested?)

This is especially bad in a Knime Server environment, because a user gets shown the “Workflow not executed” message at the end of a workflow, instead of the “execution successful” message, even though the workflow did execute until the end.
Attached you find a test workflow, showing this behaviour.
Test_DB_transaction_Component_NotDeactivating.knwf (52.6 KB)

1 Like

Hello @schulz_d,

Thank you for reaching out to our community again and bringing up this issue. We tackled this issue in a past development ticket (AP-16395) and released the fixed functionality in KNIME Analytics Platform 4.4.0. We would be interested if that seems to re-appear again now.
Can you give some insights to your setup? Which OS are you running which version of KNIME Analytics Platform on?

Best regards,

Hello @kevin_sturm
The test workflow was created in the newest Knime release 4.5.1. I also recreated that bug with Knime Version 4.4.2, both on Windows 10.
Additionally, the bug appears in our Knime Server executor aswell, running on Knime release 4.4.2 on Ubuntu 20.04.3

It is possible to work around the bug in the Desktop app, by going into the component manually and execute the yellow DB transaction end node.
Sadly that is not an alternative in a Knime Server environment.

Best regards,

1 Like

Hello David,
this seems to be another problem with the DB Transaction End node inside a component. Can you please try to unwrap the component and see if the workflow executes correctly. I have opened a ticket (AP-18601) to investigate and solve the problem.

1 Like

@tobias.koetter I tried a few things and connected the start end end nodes also with a flow variable to ‘transport’ the deactivation directly to the end. This also failed.

I have the workflow somewhere but forgot to upload it.

Hello @mlauber71 ,
I was able to reproduce the problem and will look into it for the next bugfix release. So you don’t need to upload the workflow anymore. Thanks for trying different workarounds and all your help.


This topic was automatically closed 90 days after the last reply. New replies are no longer allowed.