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)