Bug in latest 4.7.4 node Row to Column Header

Yesterday I upgraded to 4.7.4 on my Mac… and today discovered that the node Row to Column Header fails.

I have the following table:

RowID Row0 Row1 Row2 Row3 Row4
Logit good good good good good
Variable age education gender POS_count Constant
Coeff. 1.021060666963911 0.7997206182442608 0.6388810213387629 1.0287303231467404 0.05009474022199844
Std. Err. 0.06547589717659819 0.11998549542729112 0.17068711800950176 0.03807002365358884 0.0244329298835935
z-score 15.594450950552984 6.6651441109302745 3.742994953510187 27.02205631673577 2.0502960742189424
P> z 0.0 2.6438629063818553E-11 1.8183988228304138E-4

and wish to turn row 2 to a new header. The Row to Header fails with

ERROR Row to Column Header 4:286:0:250 Execute failed: Encountered duplicate row ID “org.knime.core.data.v2.value.DefaultRowKeyValueFactory$DefaultRowKeyReadValue@1476305f”

I have verified that the node fails elsewhere as well. It looks like it doesn’t convert the string but leaves the java type there instead.

This is somewhat urgent.

Cheers,
Sam

Hi @ssq , as I don’t have a Mac I haven’t been able to see the error that you have encountered. (I’m on Windows)

However, if it is urgent, and it transpires that this is a bug, a possible workaround is to perform the same task “manually” using alternative nodes.

For example:

For this, the only config you would need are on the Row Splitter, where you define the “excluded” row, which will be the row that becomes your header (row 2)

and on the Insert Column Header node:

image

leave all the others with their default settings, and you should at the end have the required column names. Hope that helps

Hi @ssq,

thanks for posting! I tried to reproduce in different versions of KNIME, but couldn’t. Maybe you can try to modify my workflow into a minimal example that encounters the bug?

2 Likes

Many thanks for the prompt answer, and the workaround! As the case was urgent, I simply programmed my own (near) equivalent in Python (the new Python support is really really great!).

This is my simplest case (data input as previously):

Screenshot 2023-06-21 at 14.36.52

And the configuration is

Screenshot 2023-06-21 at 14.37.23

And the error:

Now, I recreated that as a separate workflow with the same data table… and it works fine. However, the Row to Header fails in several components I have, so that may have something to do with it.

It happened after the upgrade to 4.7.4, which may be significant; 4.7.3 worked fine.

POSSIBLE cause:

I use the columnar backend (lots of Python), and the new workflow I tested on did have the default one, which works.

I changed that to columnar, and then it fails too!

So… columnar backend problem??

Cheers,
Sam

1 Like

Good morning,

Any verification and/or resolution to this problem?

Cheers,
Sam

I just downloaded the latest update, 4.7.5 to my Mac.

The Row-to-Header and Columnar Backend bug/incompatibility is still there.

Any progress on getting it fixed?

Cheers,
Sam

@CarlWitt @ssq I can confirm that this bug dies exist on my Apple M1 machine when the Columnar Backend is activated. I will send logs to the KNIME support.

ERROR Row to Column Header 8:4 Execute failed: Encountered duplicate row ID "org.knime.core.data.v2.value.DefaultRowKeyValueFactory$DefaultRowKeyReadValue@407a6a74"

I filed a bug ticket, we try to fix it ASAP, thanks for reporting!

2 Likes

This has been fixed and is shipped with 4.7.6 and 5.1.0.

3 Likes

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