> "It should behave as if the upstream operator does not emit anything on
the port."

But as per your earlier description the upstream operator "..for any reason
decides that it will not emit tuples on the output port, it may close
it..." . So this is not just the case where the upstream operator is not
emitting tuples because there is no data but it has implicitly changed the
DAG by closing the stream. As an example, a port could be receiving events
marking "window" boundaries for aggregating data received from the other
port. It will be useful for the operator to know these events will not be
received any more so it can stop aggregating data from the other port. In
any case your idea of the "EOS" control tuple addresses this.





>> operator needs to behave differently because it's a different DAG now.
>> Will
>> a control tuple inform it that the input port is closing?
>>
> Again, the details will need to be flushed out. It may be an eos (end of
> stream) control tuple. An operator with 2 input ports may not even care
> that one of the input ports is connected to inactive stream. It should
> behave as if the upstream operator does not emit anything on the port.

Reply via email to