Simple Streaming not working

I am trying to use Simple Streaming in Component i created but i am always getting the below error:

ERROR Mappings 0:11977 Caught “ClassCastException”: org.knime.core.node.workflow.WorkflowManager cannot be cast to org.knime.core.node.workflow.NativeNodeContainer

please help me

Hi chezhiyan,

can you please provide an example workflow where the problem occurs?

Thanks a lot!

1 Like

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 :slight_smile:

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.
image

I’d really like to get this working and any help is much appreciated.

Thanks in advace

2 Likes

Just replying to my own message.

  1. I downloaded the streaming example from https://hub.knime.com/knime/spaces/Education/latest/01%20KNIME%20User%20Training/Supplementary%20Workflows/01_Simple_Streaming_and_Components and it does work in my knime setup

  2. 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 problem seems to be with the ‘Table Creator’ node.

I tried adding a ‘Table Creator’ to the other working example and it has a red ‘x’ as well.

Can streaming not work with certain nodes?

I just want knime to stream whatever it can and run what it cannot in one go - those nodes have very small amount of data anyway.

Not sure if I’m missing something here. Would anyone know of a work around?

Thanks in advance
Thanks

Replying to my self again,

knime still streams when there is a red ‘x’.

I just tried this smaller example and it writes the output file image

I’m not sure why my larger example gives the error

Caught "ClassCastException": org.knime.core.node.workflow.SubNodeContainer cannot be cast to org.knime.core.node.workflow.NativeNodeContainer

That’s the only error I see in the console log.

Any pointers on how I could identify what’s causing this error?

Thanks

Hi @srimalj and @chezhiyan,

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.

Best,
Martin

4 Likes

Thanks Martin

I’ve tried removing the metanodes inside my streamed component and it looks like the flowvariable doesn’t pass the filename to the excel file reader

image

It works as normal when I make it a non-streaming component though.

I’ve attached the workflow stream-no-metanodes.knwf (14.9 KB)

which looks like

Not sure if I’m missing something here or its a potential bug.

Any thoughts?

Thanks in advance

Hi @srimalj,

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?

Best,
Martin

3 Likes

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