You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@flink.apache.org by tillrohrmann <gi...@git.apache.org> on 2016/09/29 14:42:28 UTC

[GitHub] flink pull request #2569: [FLINK-4711] Let the Task trigger partition state ...

GitHub user tillrohrmann opened a pull request:

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

    [FLINK-4711] Let the Task trigger partition state requests and handle their responses

    This PR makes changes the partition state check in a way that the Task is now responsible
    for triggering the state check instead of the SingleInputGate. Furthermore, the operation
    returns a future containing the JobManager's answer. That way we don't have to route the
    response through the TaskManager and can add automatic retries in case of a timeout.
    
    The PR removes the JobManagerCommunicationFactory and gets rid of the excessive
    PartitionStateChecker and ResultPartitionConsumableNotifier creation. Instead of creating
    for each SingleInputGate one PartitionStateChecker we create one for the TaskManager which
    is reused across all SingleInputGates. The same applies to the
    ResultPartitionConsumableNotifier.
    
    This PR is also a simplification for the Flip-6 implementation.

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

    $ git pull https://github.com/tillrohrmann/flink fixOnUpdatePartitionState

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

    https://github.com/apache/flink/pull/2569.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 #2569
    
----
commit eefd4ee31633656d134078503a60f43e14806311
Author: Till Rohrmann <tr...@apache.org>
Date:   2016-09-29T14:19:30Z

    [FLINK-4711] Let the Task trigger partition state requests and handle their responses
    
    This PR makes changes the partition state check in a way that the Task is now responsible
    for triggering the state check instead of the SingleInputGate. Furthermore, the operation
    returns a future containing the JobManager's answer. That way we don't have to route the
    response through the TaskManager and can add automatic retries in case of a timeout.
    
    The PR removes the JobManagerCommunicationFactory and gets rid of the excessive
    PartitionStateChecker and ResultPartitionConsumableNotifier creation. Instead of creating
    for each SingleInputGate one PartitionStateChecker we create one for the TaskManager which
    is reused across all SingleInputGates. The same applies to the
    ResultPartitionConsumableNotifier.

----


---
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 infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

[GitHub] flink pull request #2569: [FLINK-4711] Let the Task trigger partition state ...

Posted by tillrohrmann <gi...@git.apache.org>.
Github user tillrohrmann commented on a diff in the pull request:

    https://github.com/apache/flink/pull/2569#discussion_r81173481
  
    --- Diff: flink-runtime/src/main/java/org/apache/flink/runtime/taskmanager/JobManagerCommunicationFactory.java ---
    @@ -27,15 +26,6 @@
     public interface JobManagerCommunicationFactory {
    --- End diff --
    
    Good catch. Will remove it.


---
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 infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

[GitHub] flink pull request #2569: [FLINK-4711] Let the Task trigger partition state ...

Posted by asfgit <gi...@git.apache.org>.
Github user asfgit closed the pull request at:

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


---
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 infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

[GitHub] flink pull request #2569: [FLINK-4711] Let the Task trigger partition state ...

Posted by uce <gi...@git.apache.org>.
Github user uce commented on a diff in the pull request:

    https://github.com/apache/flink/pull/2569#discussion_r81162283
  
    --- Diff: flink-runtime/src/main/java/org/apache/flink/runtime/taskmanager/JobManagerCommunicationFactory.java ---
    @@ -27,15 +26,6 @@
     public interface JobManagerCommunicationFactory {
    --- End diff --
    
    This has been become obsolete with your change and is unused. Let's remove it completely?


---
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 infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

[GitHub] flink issue #2569: [FLINK-4711] Let the Task trigger partition state request...

Posted by tillrohrmann <gi...@git.apache.org>.
Github user tillrohrmann commented on the issue:

    https://github.com/apache/flink/pull/2569
  
    Thanks for the review @uce. If Travis gives green light, I'll merge the PR.


---
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 infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

[GitHub] flink pull request #2569: [FLINK-4711] Let the Task trigger partition state ...

Posted by tillrohrmann <gi...@git.apache.org>.
Github user tillrohrmann commented on a diff in the pull request:

    https://github.com/apache/flink/pull/2569#discussion_r81173599
  
    --- Diff: flink-runtime/src/main/scala/org/apache/flink/runtime/jobmanager/JobManager.scala ---
    @@ -873,8 +873,7 @@ class JobManager(
           }
     
           sender ! decorateMessage(
    -        PartitionState(
    -          taskExecutionId,
    +        new org.apache.flink.runtime.io.network.PartitionState(
    --- End diff --
    
    Yes that's true. Will fix it.


---
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 infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

[GitHub] flink pull request #2569: [FLINK-4711] Let the Task trigger partition state ...

Posted by tillrohrmann <gi...@git.apache.org>.
Github user tillrohrmann commented on a diff in the pull request:

    https://github.com/apache/flink/pull/2569#discussion_r81173562
  
    --- Diff: flink-runtime/src/main/scala/org/apache/flink/runtime/messages/TaskControlMessages.scala ---
    @@ -92,16 +92,6 @@ object TaskMessages {
       // --------------------------------------------------------------------------
     
       /**
    -   * Answer to a [[RequestPartitionState]] with the state of the respective partition.
    -   */
    -  case class PartitionState(
    --- End diff --
    
    Yes that is also true. Will fix it.


---
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 infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

[GitHub] flink pull request #2569: [FLINK-4711] Let the Task trigger partition state ...

Posted by uce <gi...@git.apache.org>.
Github user uce commented on a diff in the pull request:

    https://github.com/apache/flink/pull/2569#discussion_r81164326
  
    --- Diff: flink-runtime/src/main/scala/org/apache/flink/runtime/messages/TaskControlMessages.scala ---
    @@ -92,16 +92,6 @@ object TaskMessages {
       // --------------------------------------------------------------------------
     
       /**
    -   * Answer to a [[RequestPartitionState]] with the state of the respective partition.
    -   */
    -  case class PartitionState(
    --- End diff --
    
    Has some unused imports after removal that we could remove before merging


---
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 infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

[GitHub] flink issue #2569: [FLINK-4711] Let the Task trigger partition state request...

Posted by tillrohrmann <gi...@git.apache.org>.
Github user tillrohrmann commented on the issue:

    https://github.com/apache/flink/pull/2569
  
    Travis passed locally. Will merge the PR.


---
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 infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

[GitHub] flink pull request #2569: [FLINK-4711] Let the Task trigger partition state ...

Posted by uce <gi...@git.apache.org>.
Github user uce commented on a diff in the pull request:

    https://github.com/apache/flink/pull/2569#discussion_r81164597
  
    --- Diff: flink-runtime/src/main/scala/org/apache/flink/runtime/jobmanager/JobManager.scala ---
    @@ -873,8 +873,7 @@ class JobManager(
           }
     
           sender ! decorateMessage(
    -        PartitionState(
    -          taskExecutionId,
    +        new org.apache.flink.runtime.io.network.PartitionState(
    --- End diff --
    
    I think it's not ambiguous anymore after removal of the TaskControlMessage and we can directly use `PartitionState`?


---
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 infrastructure@apache.org or file a JIRA ticket
with INFRA.
---