[Vernalis]: Possible bug in Configurable IF/CASE Switch with Flow Variables

Hi @Vernalis,

the configurable IF/CASE Node might have one or even two bugs respectively glitches. The possible glitch is that the incoming ports on the Configurable End IF/CASE node are not disabled for the inactive branch.

That in turn I’d guess causes the flow variables getting passed wrong or overwritten. In the below screenshot I’d expect the fallback to propagate the variable but it is missing.

I will upload a test workflow immediately.

Edit: Here you go …

Cheers
Mike

1 Like

Hi Mike,

Unfortunately I’m pretty sure that this is not a bug in the nodes but a ‘feature’ (:slight_smile:) of a design choice made deep back through the mists of KNIME time which has an unfortunate consequence with branch switching (my guess is that is pre-dates the possibility of inactive branches - maybe @wiswedel can remember?!). There is an explanation better than I can give here - Case Switch Flow Variable Problem - #8 by LukasS

In terms of a workaround, then your best bet is to do the manipulation(s) on the variable values in a table - possible via a Variable to Table (Row|Column) node, and then convert back to a variable after the End If/Case.

As mentioned somewhere higher up the thread above this used to be explicitly explained in the old Variable End IF and Variable End CASE nodes when we first released them. As much as I love KNIME as a product, this is very definitely one of my least-liked “features”!

Steve

3 Likes

Thanks @Vernalis. Guess I am going with the fallback of all fallbacks … converting to actual table data.

@DanielBog do happen to know anything or someone who can help us understand the “design choice” made causing the issue described above?

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