You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@flink.apache.org by "Nico Kruber (JIRA)" <ji...@apache.org> on 2018/10/31 14:07:00 UTC
[jira] [Resolved] (FLINK-10727) Remove unnecessary synchronization
in SingleInputGate#requestPartitions()
[ https://issues.apache.org/jira/browse/FLINK-10727?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Nico Kruber resolved FLINK-10727.
---------------------------------
Resolution: Fixed
Fix Version/s: 1.7.0
fixed via:
- master: 194603a89844af1f6613b88d6401d28a170494a6
> Remove unnecessary synchronization in SingleInputGate#requestPartitions()
> -------------------------------------------------------------------------
>
> Key: FLINK-10727
> URL: https://issues.apache.org/jira/browse/FLINK-10727
> Project: Flink
> Issue Type: Improvement
> Components: Network
> Affects Versions: 1.5.5, 1.6.2, 1.7.0
> Reporter: Nico Kruber
> Assignee: Nico Kruber
> Priority: Major
> Labels: pull-request-available
> Fix For: 1.7.0
>
>
> For every {{SingleInputGate#getNextBufferOrEvent()}}, {{SingleInputGate#requestPartitions()}} is called and this always synchronizes on the {{requestLock}} before checking the {{requestedPartitionsFlag}}. Since {{SingleInputGate#requestPartitions()}} is only called from the same thread (the task thread getting the record), it is enough to check the {{requestedPartitionsFlag}} first before synchronizing for the actual requests (if needed). {{UnionInputGate}} already goes the same way in its {{requestPartitions()}} implementation.
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)