GitHub user uce opened a pull request:

    https://github.com/apache/flink/pull/2912

    [FLINK-5114] [network] Handle partition producer state check for 
unregistered executions

    If a partition state request is triggered for a producer that terminates 
before the request arrives, the execution is unregistered and the producer 
cannot be found. In this case the partition state returns `null` and the job 
fails although this is perfectly legal.
    
    For these cases, we look up the respective intermediate result partition 
and find the producing execution manually instead of looking it up via the 
registered executions.
    
    I've removed some unused message parameters that have become obsolete with 
other recent refactorings.
    
    This adds a hash map to `IntermediateResult` for lookups by partition ID. I 
didn't dare to change the partition connect logic in other places that is 
tightly coupled to the partitions being held as an array. As an alternative, we 
could to a linear scan over the partitions as this happens rarely. The memory 
overhead for the hash map should be acceptable as it's created per produced 
result and only has entries for each partition.

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

    $ git pull https://github.com/uce/flink 5114-partition_state

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

    https://github.com/apache/flink/pull/2912.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 #2912
    
----
commit 6308ff0aba49f026c23c67af4a2f3943b16f2b31
Author: Ufuk Celebi <u...@apache.org>
Date:   2016-11-22T15:15:04Z

    [FLINK-5114] [network] Handle partition producer state check for 
unregistered executions

----


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---

Reply via email to