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

Ensure defaultInputDependencyConstraint to be non-null when setting it in ExecutionConfig

    XMLWordPrintableJSON

Details

    Description

      If a user invokes ExecutionConfig#setDefaultInputDependencyConstraint(null) to set the defaultInputDependencyConstraint to be null, the scheduling topology building will throw NPE in ExecutionGraph creating stage, causing a master node fatal error.

      Thus we need to do checkNotNull on the ExecutionConfig#setDefaultInputDependencyConstraint param to remind users in an early stage.

       

      Exception is as blow:

      2019-08-28T15:19:21.287+0000 ERROR org.apache.flink.runtime.entrypoint.ClusterEntrypoint         - Fatal error occurred in the cluster entrypoint.
      org.apache.flink.runtime.dispatcher.DispatcherException: Failed to take leadership with session id 2f8f7919-a81b-4529-ad57-9789dbf07707.
              at org.apache.flink.runtime.dispatcher.Dispatcher.lambda$null$30(Dispatcher.java:915)
              at java.util.concurrent.CompletableFuture.uniWhenComplete(CompletableFuture.java:760)
              at java.util.concurrent.CompletableFuture$UniWhenComplete.tryFire(CompletableFuture.java:736)
              at java.util.concurrent.CompletableFuture.postComplete(CompletableFuture.java:474)
              at java.util.concurrent.CompletableFuture.completeExceptionally(CompletableFuture.java:1977)
              at org.apache.flink.runtime.concurrent.FutureUtils$WaitingConjunctFuture.handleCompletedFuture(FutureUtils.java:691)
              at java.util.concurrent.CompletableFuture.uniWhenComplete(CompletableFuture.java:760)
              at java.util.concurrent.CompletableFuture$UniWhenComplete.tryFire(CompletableFuture.java:736)
              at java.util.concurrent.CompletableFuture.postComplete(CompletableFuture.java:474)
              at java.util.concurrent.CompletableFuture.postFire(CompletableFuture.java:561)
              at java.util.concurrent.CompletableFuture$UniWhenComplete.tryFire(CompletableFuture.java:739)
              at java.util.concurrent.CompletableFuture$Completion.run(CompletableFuture.java:442)
              at org.apache.flink.runtime.rpc.akka.AkkaRpcActor.handleRunAsync(AkkaRpcActor.java:397)
              at org.apache.flink.runtime.rpc.akka.AkkaRpcActor.handleRpcMessage(AkkaRpcActor.java:190)
              at org.apache.flink.runtime.rpc.akka.FencedAkkaRpcActor.handleRpcMessage(FencedAkkaRpcActor.java:74)
              at org.apache.flink.runtime.rpc.akka.AkkaRpcActor.handleMessage(AkkaRpcActor.java:152)
              at akka.japi.pf.UnitCaseStatement.apply(CaseStatements.scala:26)
              at akka.japi.pf.UnitCaseStatement.apply(CaseStatements.scala:21)
              at scala.PartialFunction.applyOrElse(PartialFunction.scala:123)
              at scala.PartialFunction.applyOrElse$(PartialFunction.scala:122)
              at akka.japi.pf.UnitCaseStatement.applyOrElse(CaseStatements.scala:21)
              at scala.PartialFunction$OrElse.applyOrElse(PartialFunction.scala:171)
              at scala.PartialFunction$OrElse.applyOrElse(PartialFunction.scala:172)
              at scala.PartialFunction$OrElse.applyOrElse(PartialFunction.scala:172)
              at akka.actor.Actor.aroundReceive(Actor.scala:517)
              at akka.actor.Actor.aroundReceive$(Actor.scala:515)
              at akka.actor.AbstractActor.aroundReceive(AbstractActor.scala:225)
              at akka.actor.ActorCell.receiveMessage(ActorCell.scala:592)
              at akka.actor.ActorCell.invoke(ActorCell.scala:561)
              at akka.dispatch.Mailbox.processMailbox(Mailbox.scala:258)
              at akka.dispatch.Mailbox.run(Mailbox.scala:225)
              at akka.dispatch.Mailbox.exec(Mailbox.scala:235)
              at akka.dispatch.forkjoin.ForkJoinTask.doExec(ForkJoinTask.java:260)
              at akka.dispatch.forkjoin.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1339)
              at akka.dispatch.forkjoin.ForkJoinPool.runWorker(ForkJoinPool.java:1979)
              at akka.dispatch.forkjoin.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:107)
      Caused by: java.lang.RuntimeException: org.apache.flink.runtime.client.JobExecutionException: Could not set up JobManager
              at org.apache.flink.util.function.CheckedSupplier.lambda$unchecked$0(CheckedSupplier.java:36)
              at java.util.concurrent.CompletableFuture$AsyncSupply.run(CompletableFuture.java:1590)
              at akka.dispatch.TaskInvocation.run(AbstractDispatcher.scala:40)
              at akka.dispatch.ForkJoinExecutorConfigurator$AkkaForkJoinTask.exec(ForkJoinExecutorConfigurator.scala:44)
              ... 4 more
      Caused by: org.apache.flink.runtime.client.JobExecutionException: Could not set up JobManager
              at org.apache.flink.runtime.jobmaster.JobManagerRunner.<init>(JobManagerRunner.java:152)
              at org.apache.flink.runtime.dispatcher.DefaultJobManagerRunnerFactory.createJobManagerRunner(DefaultJobManagerRunnerFactory.java:83)
              at org.apache.flink.runtime.dispatcher.Dispatcher.lambda$createJobManagerRunner$5(Dispatcher.java:375)
              at org.apache.flink.util.function.CheckedSupplier.lambda$unchecked$0(CheckedSupplier.java:34)
              ... 7 more
      Caused by: java.lang.NullPointerException
              at org.apache.flink.util.Preconditions.checkNotNull(Preconditions.java:58)
              at org.apache.flink.runtime.scheduler.adapter.DefaultSchedulingExecutionVertex.<init>(DefaultSchedulingExecutionVertex.java:59)
              at org.apache.flink.runtime.scheduler.adapter.ExecutionGraphToSchedulingTopologyAdapter.generateSchedulingExecutionVertex(ExecutionGraphToSchedulingTopologyAdapter.java:113)
              at org.apache.flink.runtime.scheduler.adapter.ExecutionGraphToSchedulingTopologyAdapter.<init>(ExecutionGraphToSchedulingTopologyAdapter.java:65)
              at org.apache.flink.runtime.executiongraph.ExecutionGraph.attachJobGraph(ExecutionGraph.java:939)
              at org.apache.flink.runtime.executiongraph.ExecutionGraphBuilder.buildGraph(ExecutionGraphBuilder.java:230)
              at org.apache.flink.runtime.executiongraph.ExecutionGraphBuilder.buildGraph(ExecutionGraphBuilder.java:106)
              at org.apache.flink.runtime.scheduler.LegacyScheduler.createExecutionGraph(LegacyScheduler.java:207)
              at org.apache.flink.runtime.scheduler.LegacyScheduler.createAndRestoreExecutionGraph(LegacyScheduler.java:184)
              at org.apache.flink.runtime.scheduler.LegacyScheduler.<init>(LegacyScheduler.java:176)
              at org.apache.flink.runtime.scheduler.LegacySchedulerFactory.createInstance(LegacySchedulerFactory.java:70)
              at org.apache.flink.runtime.jobmaster.JobMaster.createScheduler(JobMaster.java:275)
              at org.apache.flink.runtime.jobmaster.JobMaster.<init>(JobMaster.java:265)
              at org.apache.flink.runtime.jobmaster.factories.DefaultJobMasterServiceFactory.createJobMasterService(DefaultJobMasterServiceFactory.java:98)
              at org.apache.flink.runtime.jobmaster.factories.DefaultJobMasterServiceFactory.createJobMasterService(DefaultJobMasterServiceFactory.java:40)
              at org.apache.flink.runtime.jobmaster.JobManagerRunner.<init>(JobManagerRunner.java:146)
              ... 10 more

      Attachments

        Issue Links

          Activity

            People

              zhuzh Zhu Zhu
              zhuzh Zhu Zhu
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Time Tracking

                  Estimated:
                  Original Estimate - Not Specified
                  Not Specified
                  Remaining:
                  Remaining Estimate - 0h
                  0h
                  Logged:
                  Time Spent - 20m
                  20m