Prabhu Joseph created FLINK-30111: ------------------------------------- Summary: CacheRead fails with Intermediate data set with ID not found Key: FLINK-30111 URL: https://issues.apache.org/jira/browse/FLINK-30111 Project: Flink Issue Type: Bug Affects Versions: 1.16.0 Reporter: Prabhu Joseph
CacheRead fails with below exception when running multiple parallel jobs in detached mode which all reads from a same CacheDataStream. The same application runs fine when either running in Attached Mode or when without using Cache. {code:java} 2022-11-21 08:19:31,762 INFO org.apache.flink.runtime.executiongraph.ExecutionGraph [] - CacheRead -> Map -> Sink: Writer (1/1) (8002916773ad489098a05e6835288f29_cbc357ccb763df2852fee8c4fc7d55f2_0_0) switched from RUNNING to FAILED on container_1668960408356_0009_01_000009 @ ip-172-31-38-144.us-west-2.compute.internal (dataPort=38433). java.lang.IllegalArgumentException: Intermediate data set with ID f0d8150945d3e396b8c0a4f6a527a8ce not found. at org.apache.flink.runtime.scheduler.ExecutionGraphHandler.requestPartitionState(ExecutionGraphHandler.java:173) ~[flink-dist-1.16.0.jar:1.16.0] at org.apache.flink.runtime.scheduler.SchedulerBase.requestPartitionState(SchedulerBase.java:763) ~[flink-dist-1.16.0.jar:1.16.0] at org.apache.flink.runtime.jobmaster.JobMaster.requestPartitionState(JobMaster.java:515) ~[flink-dist-1.16.0.jar:1.16.0] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_342] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:1.8.0_342] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_342] at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_342] at org.apache.flink.runtime.rpc.akka.AkkaRpcActor.lambda$handleRpcInvocation$1(AkkaRpcActor.java:309) ~[flink-rpc-akka_e220e3c9-e81e-4259-9655-37a1f83e8a36.jar:1.16.0] at org.apache.flink.runtime.concurrent.akka.ClassLoadingUtils.runWithContextClassLoader(ClassLoadingUtils.java:83) ~[flink-rpc-akka_e220e3c9-e81e-4259-9655-37a1f83e8a36.jar:1.16.0] at org.apache.flink.runtime.rpc.akka.AkkaRpcActor.handleRpcInvocation(AkkaRpcActor.java:307) ~[flink-rpc-akka_e220e3c9-e81e-4259-9655-37a1f83e8a36.jar:1.16.0] at org.apache.flink.runtime.rpc.akka.AkkaRpcActor.handleRpcMessage(AkkaRpcActor.java:222) ~[flink-rpc-akka_e220e3c9-e81e-4259-9655-37a1f83e8a36.jar:1.16.0] at org.apache.flink.runtime.rpc.akka.FencedAkkaRpcActor.handleRpcMessage(FencedAkkaRpcActor.java:84) ~[flink-rpc-akka_e220e3c9-e81e-4259-9655-37a1f83e8a36.jar:1.16.0] at org.apache.flink.runtime.rpc.akka.AkkaRpcActor.handleMessage(AkkaRpcActor.java:168) ~[flink-rpc-akka_e220e3c9-e81e-4259-9655-37a1f83e8a36.jar:1.16.0] at akka.japi.pf.UnitCaseStatement.apply(CaseStatements.scala:24) [flink-rpc-akka_e220e3c9-e81e-4259-9655-37a1f83e8a36.jar:1.16.0] at akka.japi.pf.UnitCaseStatement.apply(CaseStatements.scala:20) [flink-rpc-akka_e220e3c9-e81e-4259-9655-37a1f83e8a36.jar:1.16.0] at scala.PartialFunction.applyOrElse(PartialFunction.scala:123) [flink-rpc-akka_e220e3c9-e81e-4259-9655-37a1f83e8a36.jar:1.16.0] at scala.PartialFunction.applyOrElse$(PartialFunction.scala:122) [flink-rpc-akka_e220e3c9-e81e-4259-9655-37a1f83e8a36.jar:1.16.0] at akka.japi.pf.UnitCaseStatement.applyOrElse(CaseStatements.scala:20) [flink-rpc-akka_e220e3c9-e81e-4259-9655-37a1f83e8a36.jar:1.16.0] at scala.PartialFunction$OrElse.applyOrElse(PartialFunction.scala:171) [flink-rpc-akka_e220e3c9-e81e-4259-9655-37a1f83e8a36.jar:1.16.0] at scala.PartialFunction$OrElse.applyOrElse(PartialFunction.scala:172) [flink-rpc-akka_e220e3c9-e81e-4259-9655-37a1f83e8a36.jar:1.16.0] at scala.PartialFunction$OrElse.applyOrElse(PartialFunction.scala:172) [flink-rpc-akka_e220e3c9-e81e-4259-9655-37a1f83e8a36.jar:1.16.0] at akka.actor.Actor.aroundReceive(Actor.scala:537) [flink-rpc-akka_e220e3c9-e81e-4259-9655-37a1f83e8a36.jar:1.16.0] at akka.actor.Actor.aroundReceive$(Actor.scala:535) [flink-rpc-akka_e220e3c9-e81e-4259-9655-37a1f83e8a36.jar:1.16.0] at akka.actor.AbstractActor.aroundReceive(AbstractActor.scala:220) [flink-rpc-akka_e220e3c9-e81e-4259-9655-37a1f83e8a36.jar:1.16.0] at akka.actor.ActorCell.receiveMessage(ActorCell.scala:580) [flink-rpc-akka_e220e3c9-e81e-4259-9655-37a1f83e8a36.jar:1.16.0] at akka.actor.ActorCell.invoke(ActorCell.scala:548) [flink-rpc-akka_e220e3c9-e81e-4259-9655-37a1f83e8a36.jar:1.16.0] at akka.dispatch.Mailbox.processMailbox(Mailbox.scala:270) [flink-rpc-akka_e220e3c9-e81e-4259-9655-37a1f83e8a36.jar:1.16.0] at akka.dispatch.Mailbox.run(Mailbox.scala:231) [flink-rpc-akka_e220e3c9-e81e-4259-9655-37a1f83e8a36.jar:1.16.0] at akka.dispatch.Mailbox.exec(Mailbox.scala:243) [flink-rpc-akka_e220e3c9-e81e-4259-9655-37a1f83e8a36.jar:1.16.0] at java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:289) [?:1.8.0_342] at java.util.concurrent.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1056) [?:1.8.0_342] at java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1692) [?:1.8.0_342] at java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:175) [?:1.8.0_342] {code} *Repro:* {code:java} import org.apache.flink.api.common.RuntimeExecutionMode; import org.apache.flink.api.common.eventtime.WatermarkStrategy; import org.apache.flink.api.common.serialization.SimpleStringEncoder; import org.apache.flink.api.java.tuple.Tuple2; import org.apache.flink.connector.file.sink.FileSink; import org.apache.flink.connector.file.src.FileSource; import org.apache.flink.connector.file.src.reader.TextLineInputFormat; import org.apache.flink.streaming.api.datastream.CachedDataStream; import org.apache.flink.streaming.api.datastream.DataStreamSource; import org.apache.flink.streaming.api.datastream.SingleOutputStreamOperator; import org.apache.flink.streaming.api.environment.StreamExecutionEnvironment; import java.io.File; import java.io.FileWriter; import java.util.UUID; public class CacheTester { public static void main(String[] args) throws Exception { StreamExecutionEnvironment env = StreamExecutionEnvironment.getExecutionEnvironment(); env.setRuntimeMode(RuntimeExecutionMode.BATCH); File datafile1 = new File("/tmp/FLINK/input1"); FileSource<String> source = FileSource.forRecordStreamFormat( new TextLineInputFormat(), new org.apache.flink.core.fs.Path(datafile1.getPath())) .build(); final CachedDataStream<Integer> cachedDataStream = env.fromSource(source,WatermarkStrategy.noWatermarks(), "source").map(i -> Integer.parseInt(i) + 1).cache(); for (int i=0; i<100; i++) { SingleOutputStreamOperator out2 = cachedDataStream.map(j -> j + 1); File outputFile = new File("/tmp/FLINK/output" + (i)); FileSink fileSink = FileSink.forRowFormat( new org.apache.flink.core.fs.Path(outputFile.getPath()), new SimpleStringEncoder<>()) .build(); out2.sinkTo(fileSink); env.execute(); try { Thread.sleep(2); } catch(Exception e) {} } } } [root@ip-172-31-38-144 container_1668960408356_0008_01_000001]# cat /tmp/FLINK/input1 1 2 3 flink-yarn-session -d flink run -d -c CacheTester cachetester.jar {code} -- This message was sent by Atlassian Jira (v8.20.10#820010)