[ https://issues.apache.org/jira/browse/APEXCORE-581?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15716101#comment-15716101 ]
Vlad Rozov commented on APEXCORE-581: ------------------------------------- Agree, GenericNode needs to orchestrate tuples the same way what it currently does. The same applies to the Buffer Server. I foresee code changes both to GenericNode and to the Buffer Server needed to support custom control tuples. > Delivery of Custom Control Tuples > --------------------------------- > > Key: APEXCORE-581 > URL: https://issues.apache.org/jira/browse/APEXCORE-581 > Project: Apache Apex Core > Issue Type: Sub-task > Reporter: David Yan > > The behavior should be as follow: > - The control tuples should only be sent to downstream at streaming window > boundaries > - The control tuples should be sent to all partitions downstream > - The control tuples should be sent in the same order of arrival. > - Within a streaming window, do not send the same control tuple twice, even > if the same control tuple is received multiple times within that window. This > is possible if the operator has two input ports. (The LinkedHashMap should be > easily able to ensure both order and uniqueness.) > - The delivery of control tuples needs to stop at DelayOperator. > - When a streaming window is committed, remove the associated LinkedHashMap > that belong to windows with IDs that are less than the committed window > - It's safe to assume the control tuples are rare enough and can fit in memory > This will involve an additional MessageType to represent a custom control > tuple. > We probably need to have a data structure (possibly a LinkedHashMap) per > streaming window that stores the control tuple in the buffer server. -- This message was sent by Atlassian JIRA (v6.3.4#6332)