Github user mjsax commented on the pull request:

    https://github.com/apache/flink/pull/1483#issuecomment-171944496
  
    With embedded mode, I mean to use a spout/bolt within a regular Flink 
streaming program. For this, you could even have a "plain/raw" input stream 
(eg, `DataStream<String>`) or a POJO. Both can be translated into StormTuple 
(which is only used for input tuples). Output tuples are of type `Values` and 
also translated back to `TupleX` type.
    
    Extending the tuples with an additional field would work, too. But I did 
not like this, because is increases the data that need to be shipped over the 
network. For embedded mode, we would need to think of a nice "work around" for 
"plain/raw" and POJO input streams  -- but this should not be a problem. As 
there are no globally unique task-ids anyway in embedded mode, it might be even 
ok not to support this feature...
    
    I personally do not see it as a big (very dangerous) problem in exposing 
"input channel index" to the operators. But if you are strictly against it, I 
will go with the "additional field" approach to provide this information.


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at [email protected] or file a JIRA ticket
with INFRA.
---

Reply via email to