[ 
https://issues.apache.org/jira/browse/FLINK-30014?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Dong Lin reassigned FLINK-30014:
--------------------------------

    Assignee: Jiang Xin

> Fix the NPE from aggregate util
> -------------------------------
>
>                 Key: FLINK-30014
>                 URL: https://issues.apache.org/jira/browse/FLINK-30014
>             Project: Flink
>          Issue Type: Bug
>          Components: Library / Machine Learning
>            Reporter: Jiang Xin
>            Assignee: Jiang Xin
>            Priority: Major
>              Labels: pull-request-available
>             Fix For: ml-2.2.0
>
>
> The following exception is thrown in Flink ML CI step.
> {code:java}
> [INFO] Running org.apache.flink.ml.feature.CountVectorizerTest
> 435Error:  Tests run: 12, Failures: 0, Errors: 1, Skipped: 0, Time elapsed: 
> 6.419 s <<< FAILURE! - in org.apache.flink.ml.feature.CountVectorizerTest
> 436Error:  testFitAndPredict  Time elapsed: 0.66 s  <<< ERROR!
> 437java.lang.RuntimeException: Failed to fetch next result
> 438   at 
> org.apache.flink.streaming.api.operators.collect.CollectResultIterator.nextResultFromFetcher(CollectResultIterator.java:109)
> 439   at 
> org.apache.flink.streaming.api.operators.collect.CollectResultIterator.hasNext(CollectResultIterator.java:80)
> 440   at 
> org.apache.commons.collections.IteratorUtils.toList(IteratorUtils.java:848)
> 441   at 
> org.apache.commons.collections.IteratorUtils.toList(IteratorUtils.java:825)
> 442   at 
> org.apache.flink.ml.feature.CountVectorizerTest.verifyPredictionResult(CountVectorizerTest.java:120)
> 443   at 
> org.apache.flink.ml.feature.CountVectorizerTest.testFitAndPredict(CountVectorizerTest.java:208)
> 444   at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> 445   at 
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
> 446   at 
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> 447   at java.lang.reflect.Method.invoke(Method.java:498)
> 448   at 
> org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:59)
> 449   at 
> org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
> 450   at 
> org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:56)
> 451   at 
> org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)
> 452   at 
> org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26)
> 453   at 
> org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27)
> 454   at org.junit.rules.ExternalResource$1.evaluate(ExternalResource.java:54)
> 455   at 
> org.apache.flink.util.TestNameProvider$1.evaluate(TestNameProvider.java:45)
> 456   at org.junit.rules.TestWatcher$1.evaluate(TestWatcher.java:61)
> 457   at org.junit.runners.ParentRunner$3.evaluate(ParentRunner.java:306)
> 458   at 
> org.junit.runners.BlockJUnit4ClassRunner$1.evaluate(BlockJUnit4ClassRunner.java:100)
> 459   at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:366)
> 460   at 
> org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:103)
> 461   at 
> org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:63)
> 462   at org.junit.runners.ParentRunner$4.run(ParentRunner.java:331)
> 463   at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:79)
> 464   at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:329)
> 465   at org.junit.runners.ParentRunner.access$100(ParentRunner.java:66)
> 466   at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:293)
> 467   at org.junit.rules.ExternalResource$1.evaluate(ExternalResource.java:54)
> 468   at org.junit.rules.ExternalResource$1.evaluate(ExternalResource.java:54)
> 469   at org.junit.rules.RunRules.evaluate(RunRules.java:20)
> 470   at org.junit.runners.ParentRunner$3.evaluate(ParentRunner.java:306)
> 471   at org.junit.runners.ParentRunner.run(ParentRunner.java:413)
> 472   at org.junit.runner.JUnitCore.run(JUnitCore.java:137)
> 473   at org.junit.runner.JUnitCore.run(JUnitCore.java:115)
> 474   at 
> org.junit.vintage.engine.execution.RunnerExecutor.execute(RunnerExecutor.java:42)
> 475   at 
> org.junit.vintage.engine.VintageTestEngine.executeAllChildren(VintageTestEngine.java:80)
> 476   at 
> org.junit.vintage.engine.VintageTestEngine.execute(VintageTestEngine.java:72)
> 477   at 
> org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:220)
> 478   at 
> org.junit.platform.launcher.core.DefaultLauncher.lambda$execute$6(DefaultLauncher.java:188)
> 479   at 
> org.junit.platform.launcher.core.DefaultLauncher.withInterceptedStreams(DefaultLauncher.java:202)
> 480   at 
> org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:181)
> 481   at 
> org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:128)
> 482   at 
> org.apache.maven.surefire.junitplatform.JUnitPlatformProvider.invokeAllTests(JUnitPlatformProvider.java:142)
> 483   at 
> org.apache.maven.surefire.junitplatform.JUnitPlatformProvider.invoke(JUnitPlatformProvider.java:109)
> 484   at 
> org.apache.maven.surefire.booter.ForkedBooter.invokeProviderInSameClassLoader(ForkedBooter.java:384)
> 485   at 
> org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:345)
> 486   at 
> org.apache.maven.surefire.booter.ForkedBooter.execute(ForkedBooter.java:126)
> 487   at 
> org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:418)
> 488Caused by: java.io.IOException: Failed to fetch job execution result
> 489   at 
> org.apache.flink.streaming.api.operators.collect.CollectResultFetcher.getAccumulatorResults(CollectResultFetcher.java:184)
> 490   at 
> org.apache.flink.streaming.api.operators.collect.CollectResultFetcher.next(CollectResultFetcher.java:121)
> 491   at 
> org.apache.flink.streaming.api.operators.collect.CollectResultIterator.nextResultFromFetcher(CollectResultIterator.java:106)
> 492   ... 49 more
> 493Caused by: java.util.concurrent.ExecutionException: 
> org.apache.flink.runtime.client.JobExecutionException: Job execution failed.
> 494   at 
> java.util.concurrent.CompletableFuture.reportGet(CompletableFuture.java:357)
> 495   at 
> java.util.concurrent.CompletableFuture.get(CompletableFuture.java:1928)
> 496   at 
> org.apache.flink.streaming.api.operators.collect.CollectResultFetcher.getAccumulatorResults(CollectResultFetcher.java:182)
> 497   ... 51 more
> 498Caused by: org.apache.flink.runtime.client.JobExecutionException: Job 
> execution failed.
> 499   at 
> org.apache.flink.runtime.jobmaster.JobResult.toJobExecutionResult(JobResult.java:144)
> 500   at 
> org.apache.flink.runtime.minicluster.MiniClusterJobClient.lambda$getJobExecutionResult$3(MiniClusterJobClient.java:141)
> 501   at 
> java.util.concurrent.CompletableFuture.uniApply(CompletableFuture.java:616)
> 502   at 
> java.util.concurrent.CompletableFuture.uniApplyStage(CompletableFuture.java:628)
> 503   at 
> java.util.concurrent.CompletableFuture.thenApply(CompletableFuture.java:1996)
> 504   at 
> org.apache.flink.runtime.minicluster.MiniClusterJobClient.getJobExecutionResult(MiniClusterJobClient.java:138)
> 505   at 
> org.apache.flink.streaming.api.operators.collect.CollectResultFetcher.getAccumulatorResults(CollectResultFetcher.java:181)
> 506   ... 51 more
> 507Caused by: org.apache.flink.runtime.JobException: Recovery is suppressed 
> by NoRestartBackoffTimeStrategy
> 508   at 
> org.apache.flink.runtime.executiongraph.failover.flip1.ExecutionFailureHandler.handleFailure(ExecutionFailureHandler.java:138)
> 509   at 
> org.apache.flink.runtime.executiongraph.failover.flip1.ExecutionFailureHandler.getFailureHandlingResult(ExecutionFailureHandler.java:82)
> 510   at 
> org.apache.flink.runtime.scheduler.DefaultScheduler.handleTaskFailure(DefaultScheduler.java:301)
> 511   at 
> org.apache.flink.runtime.scheduler.DefaultScheduler.maybeHandleTaskFailure(DefaultScheduler.java:291)
> 512   at 
> org.apache.flink.runtime.scheduler.DefaultScheduler.updateTaskExecutionStateInternal(DefaultScheduler.java:282)
> 513   at 
> org.apache.flink.runtime.scheduler.SchedulerBase.updateTaskExecutionState(SchedulerBase.java:739)
> 514   at 
> org.apache.flink.runtime.scheduler.SchedulerNG.updateTaskExecutionState(SchedulerNG.java:78)
> 515   at 
> org.apache.flink.runtime.jobmaster.JobMaster.updateTaskExecutionState(JobMaster.java:443)
> 516   at sun.reflect.GeneratedMethodAccessor20.invoke(Unknown Source)
> 517   at 
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> 518   at java.lang.reflect.Method.invoke(Method.java:498)
> 519   at 
> org.apache.flink.runtime.rpc.akka.AkkaRpcActor.lambda$handleRpcInvocation$1(AkkaRpcActor.java:304)
> 520   at 
> org.apache.flink.runtime.concurrent.akka.ClassLoadingUtils.runWithContextClassLoader(ClassLoadingUtils.java:83)
> 521   at 
> org.apache.flink.runtime.rpc.akka.AkkaRpcActor.handleRpcInvocation(AkkaRpcActor.java:302)
> 522   at 
> org.apache.flink.runtime.rpc.akka.AkkaRpcActor.handleRpcMessage(AkkaRpcActor.java:217)
> 523   at 
> org.apache.flink.runtime.rpc.akka.FencedAkkaRpcActor.handleRpcMessage(FencedAkkaRpcActor.java:78)
> 524   at 
> org.apache.flink.runtime.rpc.akka.AkkaRpcActor.handleMessage(AkkaRpcActor.java:163)
> 525   at akka.japi.pf.UnitCaseStatement.apply(CaseStatements.scala:24)
> 526   at akka.japi.pf.UnitCaseStatement.apply(CaseStatements.scala:20)
> 527   at scala.PartialFunction.applyOrElse(PartialFunction.scala:123)
> 528   at scala.PartialFunction.applyOrElse$(PartialFunction.scala:122)
> 529   at akka.japi.pf.UnitCaseStatement.applyOrElse(CaseStatements.scala:20)
> 530   at scala.PartialFunction$OrElse.applyOrElse(PartialFunction.scala:171)
> 531   at scala.PartialFunction$OrElse.applyOrElse(PartialFunction.scala:172)
> 532   at scala.PartialFunction$OrElse.applyOrElse(PartialFunction.scala:172)
> 533   at akka.actor.Actor.aroundReceive(Actor.scala:537)
> 534   at akka.actor.Actor.aroundReceive$(Actor.scala:535)
> 535   at akka.actor.AbstractActor.aroundReceive(AbstractActor.scala:220)
> 536   at akka.actor.ActorCell.receiveMessage(ActorCell.scala:580)
> 537   at akka.actor.ActorCell.invoke(ActorCell.scala:548)
> 538   at akka.dispatch.Mailbox.processMailbox(Mailbox.scala:270)
> 539   at akka.dispatch.Mailbox.run(Mailbox.scala:231)
> 540   at akka.dispatch.Mailbox.exec(Mailbox.scala:243)
> 541   at java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:289)
> 542   at 
> java.util.concurrent.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1056)
> 543   at java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1692)
> 544   at 
> java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:175)
> 545Caused by: java.io.IOException: Could not perform checkpoint 1 for 
> operator aggregate -> *anonymous_datastream_source$658*[743] -> 
> TableToDataSteam (1/1)#0.
> 546   at 
> org.apache.flink.streaming.runtime.tasks.StreamTask.triggerCheckpointOnBarrier(StreamTask.java:1210)
> 547   at 
> org.apache.flink.streaming.runtime.io.checkpointing.CheckpointBarrierHandler.notifyCheckpoint(CheckpointBarrierHandler.java:147)
> 548   at 
> org.apache.flink.streaming.runtime.io.checkpointing.SingleCheckpointBarrierHandler.triggerCheckpoint(SingleCheckpointBarrierHandler.java:287)
> 549   at 
> org.apache.flink.streaming.runtime.io.checkpointing.SingleCheckpointBarrierHandler.access$100(SingleCheckpointBarrierHandler.java:64)
> 550   at 
> org.apache.flink.streaming.runtime.io.checkpointing.SingleCheckpointBarrierHandler$ControllerImpl.triggerGlobalCheckpoint(SingleCheckpointBarrierHandler.java:493)
> 551   at 
> org.apache.flink.streaming.runtime.io.checkpointing.AbstractAlignedBarrierHandlerState.triggerGlobalCheckpoint(AbstractAlignedBarrierHandlerState.java:74)
> 552   at 
> org.apache.flink.streaming.runtime.io.checkpointing.AbstractAlignedBarrierHandlerState.barrierReceived(AbstractAlignedBarrierHandlerState.java:66)
> 553   at 
> org.apache.flink.streaming.runtime.io.checkpointing.SingleCheckpointBarrierHandler.lambda$processBarrier$2(SingleCheckpointBarrierHandler.java:234)
> 554   at 
> org.apache.flink.streaming.runtime.io.checkpointing.SingleCheckpointBarrierHandler.markCheckpointAlignedAndTransformState(SingleCheckpointBarrierHandler.java:262)
> 555   at 
> org.apache.flink.streaming.runtime.io.checkpointing.SingleCheckpointBarrierHandler.processBarrier(SingleCheckpointBarrierHandler.java:231)
> 556   at 
> org.apache.flink.streaming.runtime.io.checkpointing.CheckpointedInputGate.handleEvent(CheckpointedInputGate.java:181)
> 557   at 
> org.apache.flink.streaming.runtime.io.checkpointing.CheckpointedInputGate.pollNext(CheckpointedInputGate.java:159)
> 558   at 
> org.apache.flink.streaming.runtime.io.AbstractStreamTaskNetworkInput.emitNext(AbstractStreamTaskNetworkInput.java:110)
> 559   at 
> org.apache.flink.streaming.runtime.io.StreamOneInputProcessor.processInput(StreamOneInputProcessor.java:65)
> 560   at 
> org.apache.flink.streaming.runtime.tasks.StreamTask.processInput(StreamTask.java:519)
> 561   at 
> org.apache.flink.streaming.runtime.tasks.mailbox.MailboxProcessor.runMailboxLoop(MailboxProcessor.java:203)
> 562   at 
> org.apache.flink.streaming.runtime.tasks.StreamTask.runMailboxLoop(StreamTask.java:804)
> 563   at 
> org.apache.flink.streaming.runtime.tasks.StreamTask.invoke(StreamTask.java:753)
> 564   at 
> org.apache.flink.runtime.taskmanager.Task.runWithSystemExitMonitoring(Task.java:948)
> 565   at 
> org.apache.flink.runtime.taskmanager.Task.restoreAndInvoke(Task.java:927)
> 566   at org.apache.flink.runtime.taskmanager.Task.doRun(Task.java:741)
> 567   at org.apache.flink.runtime.taskmanager.Task.run(Task.java:563)
> 568   at java.lang.Thread.run(Thread.java:750)
> 569Caused by: org.apache.flink.runtime.checkpoint.CheckpointException: Could 
> not complete snapshot 1 for operator aggregate -> 
> *anonymous_datastream_source$658*[743] -> TableToDataSteam (1/1)#0. Failure 
> reason: Checkpoint was declined.
> 570   at 
> org.apache.flink.streaming.api.operators.StreamOperatorStateHandler.snapshotState(StreamOperatorStateHandler.java:269)
> 571   at 
> org.apache.flink.streaming.api.operators.StreamOperatorStateHandler.snapshotState(StreamOperatorStateHandler.java:173)
> 572   at 
> org.apache.flink.streaming.api.operators.AbstractStreamOperator.snapshotState(AbstractStreamOperator.java:348)
> 573   at 
> org.apache.flink.streaming.runtime.tasks.RegularOperatorChain.checkpointStreamOperator(RegularOperatorChain.java:227)
> 574   at 
> org.apache.flink.streaming.runtime.tasks.RegularOperatorChain.buildOperatorSnapshotFutures(RegularOperatorChain.java:212)
> 575   at 
> org.apache.flink.streaming.runtime.tasks.RegularOperatorChain.snapshotState(RegularOperatorChain.java:192)
> 576   at 
> org.apache.flink.streaming.runtime.tasks.SubtaskCheckpointCoordinatorImpl.takeSnapshotSync(SubtaskCheckpointCoordinatorImpl.java:647)
> 577   at 
> org.apache.flink.streaming.runtime.tasks.SubtaskCheckpointCoordinatorImpl.checkpointState(SubtaskCheckpointCoordinatorImpl.java:320)
> 578   at 
> org.apache.flink.streaming.runtime.tasks.StreamTask.lambda$performCheckpoint$12(StreamTask.java:1253)
> 579   at 
> org.apache.flink.streaming.runtime.tasks.StreamTaskActionExecutor$1.runThrowing(StreamTaskActionExecutor.java:50)
> 580   at 
> org.apache.flink.streaming.runtime.tasks.StreamTask.performCheckpoint(StreamTask.java:1241)
> 581   at 
> org.apache.flink.streaming.runtime.tasks.StreamTask.triggerCheckpointOnBarrier(StreamTask.java:1198)
> 582   ... 22 more
> 583Caused by: java.lang.NullPointerException: You cannot add null to a 
> ListState.
> 584   at 
> org.apache.flink.util.Preconditions.checkNotNull(Preconditions.java:76)
> 585   at 
> org.apache.flink.runtime.state.PartitionableListState.add(PartitionableListState.java:94)
> 586   at 
> org.apache.flink.ml.common.datastream.DataStreamUtils$AggregateOperator.snapshotState(DataStreamUtils.java:463)
> 587   at 
> org.apache.flink.streaming.api.operators.StreamOperatorStateHandler.snapshotState(StreamOperatorStateHandler.java:222)
> 588   ... 33 more {code}



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to