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/03 17:37:00 UTC
[jira] [Commented] (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 commented on FLINK-17393:
------------------------------------------
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)