I have the same problem and here is an example workflow streaming.knwf (17.6 KB)
Just replace the input data read with any large file
The ERROR I get is: ERROR Big file process 2:793 Caught "ClassCastException": org.knime.core.node.workflow.WorkflowManager cannot be cast to org.knime.core.node.workflow.NativeNodeContainer
I’m using the latest knime (4.1) with the streaming extension installed in it using the add extension menu.
I’d really like to get this working and any help is much appreciated.
I’ve looked deeper in my own workflow and found a red cross against the table creator node which is in a metanode I’ve included in the component I want to stream.
the reasons for the problems you are reporting here is that metanodes are not allowed within a component with a streaming executor set. That is don’t wrap nodes within a ‘streamed’ component in a metanode and everything should work fine. Usually there is respective error message in those cases but a bug prevented it from showing up (which will be fixed with KNIME Analytics Platform 4.1.1). Thanks for reporting!
And regarding your second question, @srimalj: yes, some nodes are not ‘streamable’ because the underlying algorithm doesn’t allow it or it hasn’t been implemented, yet. Whether a node is not streamable is indicated by that mentioned red cross. Additionally one can filter for streamable nodes in the node repository.
As far as I can see is your problem sort of a borderline case between a bug and inappropriate use of the Java Snippet node in a streaming setting. But I spare you the technical details because the solution is simple and even cleaner: just use the ‘Java Edit Variable’-node (instead of the ‘Table Creator’ and ‘Java Snippet’) and paste the java-code in there as is. Does that make sense?