You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
There seem to be some difficulty when an operator who has more than one downstream operator tries to call api.sendToStreamId() to selectively send data to a particular streamId.
In addition, WorkerShutdownHookWorker is later triggered when calling the method.
(When the operator has only one downstream operator, api.send() works fine.)
The text was updated successfully, but these errors were encountered:
I noticed that, in Collector class, buffers is currently used for api.sendToStreamId() but I believe it should be streamId_To_OBuffer instead. At the same time, I am not sure if Router is needed here as there is nothing related to the concept of key.
However, when I use streamId_To_OBuffer, ((EventBasedOBuffer)ob).getEventAPI() returns null but I don't fully understand the importance of EventAPI.
So far I noticed that the process of initialising Map buffers (in Collector class) involves using the same keys (Integer) for different entries (Therefore overwriting the previous entry).
According to CoreOutputFactory.buildCoreOutputFor(), this (Integer) key seems to be based on DataReference.getId() but the id the method returns is essentially the operatorId itself (i.e. it is the same for any downstreams.) I do not fully understand why DataReference dr is initialised so. Still work in progress.
There seem to be some difficulty when an operator who has more than one downstream operator tries to call api.sendToStreamId() to selectively send data to a particular streamId.
In addition, WorkerShutdownHookWorker is later triggered when calling the method.
(When the operator has only one downstream operator, api.send() works fine.)
The text was updated successfully, but these errors were encountered: