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)