Table Reader Caches Columns breaking workflow execution
Hi,
I erratically face an issue I struggle to reproduce to help fixing it. Whilst I have a pretty good understanding and explanation to the circumstances, I still can not reproduce it in a workflow to share with you (but soon might have).
The issue
When a Table Reader initially reads a table, it seems to cache it’s columns as well as it’s column data types. Regardless if any transformation happens, the table reader, after the table being read was altered (column count, column type change), then fails with an error breaking the workflow execution.
Like so:
ERROR Table Reader 4:848:0:1018:0:1007 Execute failed: The column 'Piano Tag' can't be converted to the configured data type 'WebElement'. Change the target type or uncheck the enforce types option to map it to a compatible type.I wonder if this is a bug or feature. I can see some advantage about thus but without the option to control this behavior, it is more a bug than a feature.
PS: This is also the primary reason why I am working on this several tickets around column type interpretation, mapping, enforcement like:
Hi, picking up my original topic: I want to extract the column type to save this alongside i.e. a CSV file in order to once after reading CSV again, reinstate the original column type(s). Reason for that is that data might get shared / transmitted in human readable text files types. But, reinterpreting column types is time consuming and failure prone. I am trying to accomplish this by looping over the table of data types derived from aforementioned workflow. Binary Object org.knime.cor…
Edit
After updating all cached columns I suddenly got this totally new error. No change to column count nor type nor order was made.
ERROR Table Reader 4:848:0:1018:0:1007 Execute failed: class org.knime.core.data.columnar.table.ColumnarContainerTableLoader$SavedColumnarContainerTable cannot be cast to class org.knime.core.data.container.BufferedContainerTable (org.knime.core.data.columnar.table.ColumnarContainerTableLoader$SavedColumnarContainerTable is in unnamed module of loader org.eclipse.osgi.internal.loader.EquinoxClassLoader @54610a47; org.knime.core.data.container.BufferedContainerTable is in unnamed module of loader org.eclipse.osgi.internal.loader.EquinoxClassLoader @1c610f)Best
Mike