Uploaded image for project: 'Flink'
  1. Flink
  2. FLINK-6682

Improve error message in case parallelism exceeds maxParallelism

    Details

      Description

      When restoring a job with a parallelism that exceeds the maxParallelism we're not providing a useful error message, as all you get is an IllegalArgumentException:

      Caused by: org.apache.flink.runtime.client.JobExecutionException: Job execution failed
              at org.apache.flink.runtime.client.JobClient.awaitJobResult(JobClient.java:343)
              at org.apache.flink.runtime.client.JobClient.submitJobAndWait(JobClient.java:396)
              at org.apache.flink.client.program.ClusterClient.run(ClusterClient.java:467)
              ... 22 more
      Caused by: java.lang.IllegalArgumentException
              at org.apache.flink.util.Preconditions.checkArgument(Preconditions.java:123)
              at org.apache.flink.runtime.checkpoint.StateAssignmentOperation.createKeyGroupPartitions(StateAssignmentOperation.java:449)
              at org.apache.flink.runtime.checkpoint.StateAssignmentOperation.assignAttemptState(StateAssignmentOperation.java:117)
              at org.apache.flink.runtime.checkpoint.StateAssignmentOperation.assignStates(StateAssignmentOperation.java:102)
              at org.apache.flink.runtime.checkpoint.CheckpointCoordinator.restoreLatestCheckpointedState(CheckpointCoordinator.java:1038)
              at org.apache.flink.runtime.checkpoint.CheckpointCoordinator.restoreSavepoint(CheckpointCoordinator.java:1101)
              at org.apache.flink.runtime.jobmanager.JobManager$$anonfun$org$apache$flink$runtime$jobmanager$JobManager$$submitJob$1.apply$mcV$sp(JobManager.scala:1386)
              at org.apache.flink.runtime.jobmanager.JobManager$$anonfun$org$apache$flink$runtime$jobmanager$JobManager$$submitJob$1.apply(JobManager.scala:1372)
              at org.apache.flink.runtime.jobmanager.JobManager$$anonfun$org$apache$flink$runtime$jobmanager$JobManager$$submitJob$1.apply(JobManager.scala:1372)
              at scala.concurrent.impl.Future$PromiseCompletingRunnable.liftedTree1$1(Future.scala:24)
              at scala.concurrent.impl.Future$PromiseCompletingRunnable.run(Future.scala:24)
              at akka.dispatch.TaskInvocation.run(AbstractDispatcher.scala:40)
              at akka.dispatch.ForkJoinExecutorConfigurator$AkkaForkJoinTask.exec(AbstractDispatcher.scala:397)
              at scala.concurrent.forkjoin.ForkJoinTask.doExec(ForkJoinTask.java:260)
              at scala.concurrent.forkjoin.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1339)
              at scala.concurrent.forkjoin.ForkJoinPool.runWorker(ForkJoinPool.java:1979)
              at scala.concurrent.forkjoin.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:107)
      
      

        Issue Links

          Activity

          Hide
          Zentol Chesnay Schepler added a comment -

          The error message should include which task failed, the maxParallelism and parallelism that we tried to set.

          Show
          Zentol Chesnay Schepler added a comment - The error message should include which task failed, the maxParallelism and parallelism that we tried to set.
          Hide
          mingleizhang mingleizhang added a comment -

          I will look into this issue these days.

          Show
          mingleizhang mingleizhang added a comment - I will look into this issue these days.
          Hide
          mingleizhang mingleizhang added a comment - - edited

          Hi,Chesnay Schepler . I put the check conditions at assignAttemptState method which under StateAssignmentOperation. What do you think ? Not very sure about task info I wrote. It would be great helpful if you can check this.

          	private void assignAttemptState(ExecutionJobVertex executionJobVertex, List<OperatorState> operatorStates) {
          
          		List<OperatorID> operatorIDs = executionJobVertex.getOperatorIDs();
          
          		//1. first compute the new parallelism
          		checkParallelismPreconditions(operatorStates, executionJobVertex);
          
          		int newParallelism = executionJobVertex.getParallelism();
          
          		if (executionJobVertex.getMaxParallelism() < newParallelism) {
          			LOG.error("Task info: {}, maxParallelism number: {}, and parallelism number: {}",
          				this.tasks, executionJobVertex.getMaxParallelism(), newParallelism);
          		}
          
          		List<KeyGroupRange> keyGroupPartitions = createKeyGroupPartitions(
          			executionJobVertex.getMaxParallelism(),
          			newParallelism);
          
          Show
          mingleizhang mingleizhang added a comment - - edited Hi, Chesnay Schepler . I put the check conditions at assignAttemptState method which under StateAssignmentOperation . What do you think ? Not very sure about task info I wrote. It would be great helpful if you can check this. private void assignAttemptState(ExecutionJobVertex executionJobVertex, List<OperatorState> operatorStates) { List<OperatorID> operatorIDs = executionJobVertex.getOperatorIDs(); //1. first compute the new parallelism checkParallelismPreconditions(operatorStates, executionJobVertex); int newParallelism = executionJobVertex.getParallelism(); if (executionJobVertex.getMaxParallelism() < newParallelism) { LOG.error( "Task info: {}, maxParallelism number: {}, and parallelism number: {}" , this .tasks, executionJobVertex.getMaxParallelism(), newParallelism); } List<KeyGroupRange> keyGroupPartitions = createKeyGroupPartitions( executionJobVertex.getMaxParallelism(), newParallelism);
          Hide
          Zentol Chesnay Schepler added a comment -

          While you are checking the right condition the exception still doesn't provide any useful information. The log message only displays the current state, and does neither explain what the user did wrong or how to resolve the issue.

          Show
          Zentol Chesnay Schepler added a comment - While you are checking the right condition the exception still doesn't provide any useful information. The log message only displays the current state, and does neither explain what the user did wrong or how to resolve the issue.
          Hide
          mingleizhang mingleizhang added a comment -

          Yes. Chesnay Schepler I know what you mean. It is really dont give any useful information but only some numbers there. I just would like to know this time whether it is suitable that I put this log information at assignAttemptState method. For example, I might put the error message at createKeyGroupPartitions method. That is what I care about this time.

          Show
          mingleizhang mingleizhang added a comment - Yes. Chesnay Schepler I know what you mean. It is really dont give any useful information but only some numbers there. I just would like to know this time whether it is suitable that I put this log information at assignAttemptState method. For example, I might put the error message at createKeyGroupPartitions method. That is what I care about this time.
          Hide
          Zentol Chesnay Schepler added a comment - - edited

          It should probably be moved to StateAssignmentOperation#checkParallelismPreconditions(). Also, I wouldn't log a message but throw an exception instead. We already know that the restore will fail, so let's stop the process right there.

          Show
          Zentol Chesnay Schepler added a comment - - edited It should probably be moved to StateAssignmentOperation#checkParallelismPreconditions() . Also, I wouldn't log a message but throw an exception instead. We already know that the restore will fail, so let's stop the process right there.
          Hide
          mingleizhang mingleizhang added a comment -

          Thanks for telling me. Chesnay Schepler and I have put the updated code to the PR. What stuff about the user did wrong is that they just set the wrong parallelism I guess.

          Show
          mingleizhang mingleizhang added a comment - Thanks for telling me. Chesnay Schepler and I have put the updated code to the PR. What stuff about the user did wrong is that they just set the wrong parallelism I guess.
          Hide
          githubbot ASF GitHub Bot added a comment -

          GitHub user zhangminglei opened a pull request:

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

          FLINK-6682 [checkpoints] Improve error message in case parallelism …

          …exceeds maxParallelism

          Thanks for contributing to Apache Flink. Before you open your pull request, please take the following check list into consideration.
          If your changes take all of the items into account, feel free to open your pull request. For more information and/or questions please refer to the [How To Contribute guide](http://flink.apache.org/how-to-contribute.html).
          In addition to going through the list, please provide a meaningful description of your changes.

          • [ ] General
          • The pull request references the related JIRA issue ("[FLINK-XXX] Jira title text")
          • The pull request addresses only one issue
          • Each commit in the PR has a meaningful commit message (including the JIRA id)
          • [ ] Documentation
          • Documentation has been added for new functionality
          • Old documentation affected by the pull request has been updated
          • JavaDoc for public methods has been added
          • [ ] Tests & Build
          • Functionality added by the pull request is covered by tests
          • `mvn clean verify` has been executed successfully locally or a Travis build has passed

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

          $ git pull https://github.com/zhangminglei/flink flink-6682

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

          https://github.com/apache/flink/pull/4125.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 #4125


          commit 76349ac5e53eafb0c3324f8421d59311f3d7d7f3
          Author: zhangminglei <zml13856086071@163.com>
          Date: 2017-06-14T15:23:20Z

          FLINK-6682 [checkpoints] Improve error message in case parallelism exceeds maxParallelism


          Show
          githubbot ASF GitHub Bot added a comment - GitHub user zhangminglei opened a pull request: https://github.com/apache/flink/pull/4125 FLINK-6682 [checkpoints] Improve error message in case parallelism … …exceeds maxParallelism Thanks for contributing to Apache Flink. Before you open your pull request, please take the following check list into consideration. If your changes take all of the items into account, feel free to open your pull request. For more information and/or questions please refer to the [How To Contribute guide] ( http://flink.apache.org/how-to-contribute.html ). In addition to going through the list, please provide a meaningful description of your changes. [ ] General The pull request references the related JIRA issue (" [FLINK-XXX] Jira title text") The pull request addresses only one issue Each commit in the PR has a meaningful commit message (including the JIRA id) [ ] Documentation Documentation has been added for new functionality Old documentation affected by the pull request has been updated JavaDoc for public methods has been added [ ] Tests & Build Functionality added by the pull request is covered by tests `mvn clean verify` has been executed successfully locally or a Travis build has passed You can merge this pull request into a Git repository by running: $ git pull https://github.com/zhangminglei/flink flink-6682 Alternatively you can review and apply these changes as the patch at: https://github.com/apache/flink/pull/4125.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 #4125 commit 76349ac5e53eafb0c3324f8421d59311f3d7d7f3 Author: zhangminglei <zml13856086071@163.com> Date: 2017-06-14T15:23:20Z FLINK-6682 [checkpoints] Improve error message in case parallelism exceeds maxParallelism
          Hide
          githubbot ASF GitHub Bot added a comment -

          Github user zhangminglei commented on the issue:

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

          Hi @zentol . Please helps review if you are free, should I add some extra information ? Thanks.

          Show
          githubbot ASF GitHub Bot added a comment - Github user zhangminglei commented on the issue: https://github.com/apache/flink/pull/4125 Hi @zentol . Please helps review if you are free, should I add some extra information ? Thanks.
          Hide
          githubbot ASF GitHub Bot added a comment -

          Github user zentol commented on a diff in the pull request:

          https://github.com/apache/flink/pull/4125#discussion_r122684131

          — Diff: flink-runtime/src/main/java/org/apache/flink/runtime/checkpoint/StateAssignmentOperation.java —
          @@ -225,7 +225,16 @@ private void assignAttemptState(ExecutionJobVertex executionJobVertex, List<Oper

          public void checkParallelismPreconditions(List<OperatorState> operatorStates, ExecutionJobVertex executionJobVertex) {
          -
          + //---------------------------------------parallelism compare preconditions------------------------------------
          +
          + // if the max parallelism is lower than parallelism, we will throw an exception.
          — End diff –

          remove the comment.

          Show
          githubbot ASF GitHub Bot added a comment - Github user zentol commented on a diff in the pull request: https://github.com/apache/flink/pull/4125#discussion_r122684131 — Diff: flink-runtime/src/main/java/org/apache/flink/runtime/checkpoint/StateAssignmentOperation.java — @@ -225,7 +225,16 @@ private void assignAttemptState(ExecutionJobVertex executionJobVertex, List<Oper public void checkParallelismPreconditions(List<OperatorState> operatorStates, ExecutionJobVertex executionJobVertex) { - + //--------------------------------------- parallelism compare preconditions ------------------------------------ + + // if the max parallelism is lower than parallelism, we will throw an exception. — End diff – remove the comment.
          Hide
          githubbot ASF GitHub Bot added a comment -

          Github user zentol commented on a diff in the pull request:

          https://github.com/apache/flink/pull/4125#discussion_r122686915

          — Diff: flink-runtime/src/main/java/org/apache/flink/runtime/checkpoint/StateAssignmentOperation.java —
          @@ -225,7 +225,16 @@ private void assignAttemptState(ExecutionJobVertex executionJobVertex, List<Oper

          public void checkParallelismPreconditions(List<OperatorState> operatorStates, ExecutionJobVertex executionJobVertex) {
          -
          + //---------------------------------------parallelism compare preconditions------------------------------------
          +
          + // if the max parallelism is lower than parallelism, we will throw an exception.
          + if (executionJobVertex.getMaxParallelism() < executionJobVertex.getParallelism()) {
          + throw new IllegalArgumentException("JobVertex: " + executionJobVertex.getJobVertex() +
          — End diff –

          We don't usually refer to JobVertices in exceptions, a more user-known "equivalent" are tasks.

          We should also throw an IllegalStateException to be consistent with existing exceptions in this area.

          Finally, let's reword this a bit:

          "The state for task (<executionJobVertex.getJobVertexId()>) cannot be restored. The maximum parallelism (<operatorState.getMaxParallelism()>) of the restored state is lower than the configured parallelism (<executionJobVertex.getParallelism()>). Please reduce the parallelism of the task to be lower or equal to the maximum parallelism."

          Show
          githubbot ASF GitHub Bot added a comment - Github user zentol commented on a diff in the pull request: https://github.com/apache/flink/pull/4125#discussion_r122686915 — Diff: flink-runtime/src/main/java/org/apache/flink/runtime/checkpoint/StateAssignmentOperation.java — @@ -225,7 +225,16 @@ private void assignAttemptState(ExecutionJobVertex executionJobVertex, List<Oper public void checkParallelismPreconditions(List<OperatorState> operatorStates, ExecutionJobVertex executionJobVertex) { - + //--------------------------------------- parallelism compare preconditions ------------------------------------ + + // if the max parallelism is lower than parallelism, we will throw an exception. + if (executionJobVertex.getMaxParallelism() < executionJobVertex.getParallelism()) { + throw new IllegalArgumentException("JobVertex: " + executionJobVertex.getJobVertex() + — End diff – We don't usually refer to JobVertices in exceptions, a more user-known "equivalent" are tasks. We should also throw an IllegalStateException to be consistent with existing exceptions in this area. Finally, let's reword this a bit: "The state for task (<executionJobVertex.getJobVertexId()>) cannot be restored. The maximum parallelism (<operatorState.getMaxParallelism()>) of the restored state is lower than the configured parallelism (<executionJobVertex.getParallelism()>). Please reduce the parallelism of the task to be lower or equal to the maximum parallelism."
          Hide
          githubbot ASF GitHub Bot added a comment -

          Github user zentol commented on a diff in the pull request:

          https://github.com/apache/flink/pull/4125#discussion_r122685535

          — Diff: flink-runtime/src/main/java/org/apache/flink/runtime/checkpoint/StateAssignmentOperation.java —
          @@ -225,7 +225,16 @@ private void assignAttemptState(ExecutionJobVertex executionJobVertex, List<Oper

          public void checkParallelismPreconditions(List<OperatorState> operatorStates, ExecutionJobVertex executionJobVertex) {
          -
          + //---------------------------------------parallelism compare preconditions------------------------------------
          +
          + // if the max parallelism is lower than parallelism, we will throw an exception.
          + if (executionJobVertex.getMaxParallelism() < executionJobVertex.getParallelism()) {
          — End diff –

          you have to compare the `maxParallelism` of the `operatorStates` with the one from the `executionJobVertex`. This is probably easier by moving this check into the `checkParallelismCondition(OperatorState, ExecutionJobVertex)` method.

          Show
          githubbot ASF GitHub Bot added a comment - Github user zentol commented on a diff in the pull request: https://github.com/apache/flink/pull/4125#discussion_r122685535 — Diff: flink-runtime/src/main/java/org/apache/flink/runtime/checkpoint/StateAssignmentOperation.java — @@ -225,7 +225,16 @@ private void assignAttemptState(ExecutionJobVertex executionJobVertex, List<Oper public void checkParallelismPreconditions(List<OperatorState> operatorStates, ExecutionJobVertex executionJobVertex) { - + //--------------------------------------- parallelism compare preconditions ------------------------------------ + + // if the max parallelism is lower than parallelism, we will throw an exception. + if (executionJobVertex.getMaxParallelism() < executionJobVertex.getParallelism()) { — End diff – you have to compare the `maxParallelism` of the `operatorStates` with the one from the `executionJobVertex`. This is probably easier by moving this check into the `checkParallelismCondition(OperatorState, ExecutionJobVertex)` method.
          Hide
          githubbot ASF GitHub Bot added a comment -

          Github user zhangminglei commented on a diff in the pull request:

          https://github.com/apache/flink/pull/4125#discussion_r122869047

          — Diff: flink-runtime/src/main/java/org/apache/flink/runtime/checkpoint/StateAssignmentOperation.java —
          @@ -225,7 +225,16 @@ private void assignAttemptState(ExecutionJobVertex executionJobVertex, List<Oper

          public void checkParallelismPreconditions(List<OperatorState> operatorStates, ExecutionJobVertex executionJobVertex) {
          -
          + //---------------------------------------parallelism compare preconditions------------------------------------
          +
          + // if the max parallelism is lower than parallelism, we will throw an exception.
          + if (executionJobVertex.getMaxParallelism() < executionJobVertex.getParallelism()) {
          — End diff –

          Yes. You are very correct. I will move this check condition into this method ```checkParallelismCondition(OperatorState, ExecutionJobVertex).``` It is not probably easier, it is absolutely easier. :1st_place_medal: Lol.

          Show
          githubbot ASF GitHub Bot added a comment - Github user zhangminglei commented on a diff in the pull request: https://github.com/apache/flink/pull/4125#discussion_r122869047 — Diff: flink-runtime/src/main/java/org/apache/flink/runtime/checkpoint/StateAssignmentOperation.java — @@ -225,7 +225,16 @@ private void assignAttemptState(ExecutionJobVertex executionJobVertex, List<Oper public void checkParallelismPreconditions(List<OperatorState> operatorStates, ExecutionJobVertex executionJobVertex) { - + //--------------------------------------- parallelism compare preconditions ------------------------------------ + + // if the max parallelism is lower than parallelism, we will throw an exception. + if (executionJobVertex.getMaxParallelism() < executionJobVertex.getParallelism()) { — End diff – Yes. You are very correct. I will move this check condition into this method ```checkParallelismCondition(OperatorState, ExecutionJobVertex).``` It is not probably easier, it is absolutely easier. :1st_place_medal: Lol.
          Hide
          githubbot ASF GitHub Bot added a comment -

          Github user zhangminglei commented on the issue:

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

          Thank you so much @zentol . I did learn a lot from those. Also, the code have been updated. Please review. Thanks again.

          Show
          githubbot ASF GitHub Bot added a comment - Github user zhangminglei commented on the issue: https://github.com/apache/flink/pull/4125 Thank you so much @zentol . I did learn a lot from those. Also, the code have been updated. Please review. Thanks again.
          Hide
          githubbot ASF GitHub Bot added a comment -

          Github user zentol commented on the issue:

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

          Looks good to me, let me just quickly try it out.

          Show
          githubbot ASF GitHub Bot added a comment - Github user zentol commented on the issue: https://github.com/apache/flink/pull/4125 Looks good to me, let me just quickly try it out.
          Hide
          githubbot ASF GitHub Bot added a comment -

          Github user zentol commented on a diff in the pull request:

          https://github.com/apache/flink/pull/4125#discussion_r122943463

          — Diff: flink-runtime/src/main/java/org/apache/flink/runtime/checkpoint/StateAssignmentOperation.java —
          @@ -464,6 +464,14 @@ private void collectPartionableStates(
          private static void checkParallelismPreconditions(OperatorState operatorState, ExecutionJobVertex executionJobVertex) {
          //---------------------------------------max parallelism preconditions------------------------------------

          + if (operatorState.getMaxParallelism() < executionJobVertex.getParallelism()) {
          + throw new IllegalStateException("The state for task " + executionJobVertex.getJobVertexId() +
          + " can not be restored. The maximum parallelism " + operatorState.getMaxParallelism() +
          — End diff –

          can you added braces around the (max)parallelism? The error message currently looks like this:

          ```
          Caused by: java.lang.IllegalStateException: The state for task adf090656b210b1609ad3203d4ee7329 can not be restored. The maximum parallelism 128 of the restored state is lower than the configured parallelism 140. Please reduce the parallelism of the task to be lower or equal to the maximum parallelism.
          ```

          But i think
          ```
          Caused by: java.lang.IllegalStateException: The state for task adf090656b210b1609ad3203d4ee7329 can not be restored. The maximum parallelism (128) of the restored state is lower than the configured parallelism (140). Please reduce the parallelism of the task to be lower or equal to the maximum parallelism.
          ```
          looks nicer.

          Show
          githubbot ASF GitHub Bot added a comment - Github user zentol commented on a diff in the pull request: https://github.com/apache/flink/pull/4125#discussion_r122943463 — Diff: flink-runtime/src/main/java/org/apache/flink/runtime/checkpoint/StateAssignmentOperation.java — @@ -464,6 +464,14 @@ private void collectPartionableStates( private static void checkParallelismPreconditions(OperatorState operatorState, ExecutionJobVertex executionJobVertex) { //--------------------------------------- max parallelism preconditions ------------------------------------ + if (operatorState.getMaxParallelism() < executionJobVertex.getParallelism()) { + throw new IllegalStateException("The state for task " + executionJobVertex.getJobVertexId() + + " can not be restored. The maximum parallelism " + operatorState.getMaxParallelism() + — End diff – can you added braces around the (max)parallelism? The error message currently looks like this: ``` Caused by: java.lang.IllegalStateException: The state for task adf090656b210b1609ad3203d4ee7329 can not be restored. The maximum parallelism 128 of the restored state is lower than the configured parallelism 140. Please reduce the parallelism of the task to be lower or equal to the maximum parallelism. ``` But i think ``` Caused by: java.lang.IllegalStateException: The state for task adf090656b210b1609ad3203d4ee7329 can not be restored. The maximum parallelism (128) of the restored state is lower than the configured parallelism (140). Please reduce the parallelism of the task to be lower or equal to the maximum parallelism. ``` looks nicer.
          Hide
          githubbot ASF GitHub Bot added a comment -

          Github user zhangminglei commented on a diff in the pull request:

          https://github.com/apache/flink/pull/4125#discussion_r122953813

          — Diff: flink-runtime/src/main/java/org/apache/flink/runtime/checkpoint/StateAssignmentOperation.java —
          @@ -464,6 +464,14 @@ private void collectPartionableStates(
          private static void checkParallelismPreconditions(OperatorState operatorState, ExecutionJobVertex executionJobVertex) {
          //---------------------------------------max parallelism preconditions------------------------------------

          + if (operatorState.getMaxParallelism() < executionJobVertex.getParallelism()) {
          + throw new IllegalStateException("The state for task " + executionJobVertex.getJobVertexId() +
          + " can not be restored. The maximum parallelism " + operatorState.getMaxParallelism() +
          — End diff –

          Yes. I have updated the code. Please helps to check. :XD

          Show
          githubbot ASF GitHub Bot added a comment - Github user zhangminglei commented on a diff in the pull request: https://github.com/apache/flink/pull/4125#discussion_r122953813 — Diff: flink-runtime/src/main/java/org/apache/flink/runtime/checkpoint/StateAssignmentOperation.java — @@ -464,6 +464,14 @@ private void collectPartionableStates( private static void checkParallelismPreconditions(OperatorState operatorState, ExecutionJobVertex executionJobVertex) { //--------------------------------------- max parallelism preconditions ------------------------------------ + if (operatorState.getMaxParallelism() < executionJobVertex.getParallelism()) { + throw new IllegalStateException("The state for task " + executionJobVertex.getJobVertexId() + + " can not be restored. The maximum parallelism " + operatorState.getMaxParallelism() + — End diff – Yes. I have updated the code. Please helps to check. :XD
          Hide
          githubbot ASF GitHub Bot added a comment -

          Github user zentol commented on the issue:

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

          +1.

          Show
          githubbot ASF GitHub Bot added a comment - Github user zentol commented on the issue: https://github.com/apache/flink/pull/4125 +1.
          Hide
          githubbot ASF GitHub Bot added a comment -

          Github user zentol commented on the issue:

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

          merging.

          Show
          githubbot ASF GitHub Bot added a comment - Github user zentol commented on the issue: https://github.com/apache/flink/pull/4125 merging.
          Hide
          githubbot ASF GitHub Bot added a comment -

          Github user zhangminglei commented on the issue:

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

          Thanks for your review.

          Show
          githubbot ASF GitHub Bot added a comment - Github user zhangminglei commented on the issue: https://github.com/apache/flink/pull/4125 Thanks for your review.
          Hide
          githubbot ASF GitHub Bot added a comment -

          Github user asfgit closed the pull request at:

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

          Show
          githubbot ASF GitHub Bot added a comment - Github user asfgit closed the pull request at: https://github.com/apache/flink/pull/4125
          Hide
          Zentol Chesnay Schepler added a comment -

          1.3: b1f762127234e323b947aa4a363935f87be1994f
          1.4: c736ba2ef15e9e81a54a3fc02ccffadcbf594767

          Show
          Zentol Chesnay Schepler added a comment - 1.3: b1f762127234e323b947aa4a363935f87be1994f 1.4: c736ba2ef15e9e81a54a3fc02ccffadcbf594767

            People

            • Assignee:
              mingleizhang mingleizhang
              Reporter:
              Zentol Chesnay Schepler
            • Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved:

                Development