Vlad Rozov created APEXCORE-641:
-----------------------------------

             Summary: Subscribers/DataListeners may not be scheduled to execute 
even when they have data to process
                 Key: APEXCORE-641
                 URL: https://issues.apache.org/jira/browse/APEXCORE-641
             Project: Apache Apex Core
          Issue Type: Bug
          Components: Buffer Server
    Affects Versions: 3.5.0, 3.4.0, 3.2.1, 3.3.0, 3.2.0, 3.6.0
            Reporter: Vlad Rozov
            Assignee: Vlad Rozov


Buffer server iterates over DataListeners aka LogicalNodes and each LogicalNode 
tries to send to it's downstream all data that Publisher added to the DataList. 
When an output port is connected to multiple partitions or downstream operators 
(2 or more DataListeners/LogicalNodes) there may be more data published to the 
DataList after first few DataListeners in the listeners set iterated over 
DataList and reached the last block published so far. The data published while 
the last DataListeners sends data to it's downstream will not be processed by 
other DataListeners until Publisher adds more data to the DataList. This may 
lead to blocked operators, as Buffer server may stop processing data completely 
in case Publisher fills more than one Data block while a single DataListener 
sends data to it's downstream and there are more Subscribers/DataListeners than 
number of in memory blocks allowed (8). In such case, Publisher will be 
suspended, and there will be no task scheduled to process data already 
published to the DataList.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)

Reply via email to