[jira] [Commented] (APEXCORE-745) Buffer server may stop processing tuples when backpressure is enabled

classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

[jira] [Commented] (APEXCORE-745) Buffer server may stop processing tuples when backpressure is enabled

JIRA jira@apache.org

    [ https://issues.apache.org/jira/browse/APEXCORE-745?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16043444#comment-16043444 ]

ASF GitHub Bot commented on APEXCORE-745:
-----------------------------------------

GitHub user vrozov opened a pull request:

    https://github.com/apache/apex-core/pull/542

    APEXCORE-745 Buffer server may stop processing tuples when backpressure is enabled

    @PramodSSImmaneni, @sandeshh Please review

You can merge this pull request into a Git repository by running:

    $ git pull https://github.com/vrozov/apex-core APEXCORE-745

Alternatively you can review and apply these changes as the patch at:

    https://github.com/apache/apex-core/pull/542.patch

To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:

    This closes #542
   
----
commit 9c5a40fed1cc1f7c86cb25b9ef7077f1430d3660
Author: Vlad Rozov <[hidden email]>
Date:   2017-06-08T21:08:48Z

    APEXCORE-745 Buffer server may stop processing tuples when backpressure is enabled

----


> Buffer server may stop processing tuples when backpressure is enabled
> ---------------------------------------------------------------------
>
>                 Key: APEXCORE-745
>                 URL: https://issues.apache.org/jira/browse/APEXCORE-745
>             Project: Apache Apex Core
>          Issue Type: Bug
>          Components: Buffer Server
>    Affects Versions: 3.6.0
>            Reporter: Vlad Rozov
>            Assignee: Vlad Rozov
>            Priority: Critical
>
> When backpressure is enabled, blocks released by a publisher are not evicted. This may lead to a condition (for example when there is a delay between publisher and subscribers request) where the publisher publishes all data blocks that the buffer server is allowed to allocate before subscribers submit subscription requests. It leads to the publisher being blocked, so it does not accept any new data and does not notify subscribers that the new data is available. At the same time subscribers are not scheduled to run after they catchup (or exit catchup), so the publisher will be blocked indefinitely. Restarting the downstream container (due to, for example, blocked downstream operator) repeat the same sequence and does not help.



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