You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@flink.apache.org by "Etienne Chauchot (Jira)" <ji...@apache.org> on 2020/05/04 07:45:00 UTC

[jira] [Comment Edited] (FLINK-17393) Improve the `FutureCompletingBlockingQueue` to wakeup blocking put() more elegantly.

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

Etienne Chauchot edited comment on FLINK-17393 at 5/4/20, 7:44 AM:
-------------------------------------------------------------------

[~becket_qin] I just started working on Flink, so I might not know all of it, but still there is something that I don't understand in this issue:

_FutureCompletingBlockingQueue_ is a _LinkedBlockingQueue_ and it is created using the default constructor, so its depth is 

_Integer.MAX_VALUE_. So for a _FetchTask_ being blocked on a _put()_, it means that the queue is full so it has 

_Integer.MAX_VALUE_ elements already. In which case does it happen?


was (Author: echauchot):
I just started working on Flink, so I might not know all of it, but still there is something that I don't understand in this issue:

_FutureCompletingBlockingQueue_ is a _LinkedBlockingQueue_ and it is created using the default constructor, so its depth is 

_Integer.MAX_VALUE_. So for a _FetchTask_ being blocked on a _put()_, it means that the queue is full so it has 

_Integer.MAX_VALUE_ elements already. In which case does it happen?

> Improve the `FutureCompletingBlockingQueue` to wakeup blocking put() more elegantly.
> ------------------------------------------------------------------------------------
>
>                 Key: FLINK-17393
>                 URL: https://issues.apache.org/jira/browse/FLINK-17393
>             Project: Flink
>          Issue Type: Sub-task
>          Components: Connectors / Common
>            Reporter: Jiangjie Qin
>            Priority: Major
>
> Currently, if a {{FetchTask}} is blocking on {{FutureCompletingBlockingQueue.put()}}, interrupt has to be called to wake it up, which will result in {{InterruptedException}}. We can avoid the interruption by having our own implementation of {{BlockingQueue.Put()}}.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)