For exactly-once mode before flink-1.5, it needs the temp dir for spilling the blocking buffers during checkpoint.
The temp dir is configured via `io.tmp.dirs` and the default value is `java.io.tmpdir`. In your case, your temp dir prefix with `/tmp/` has some problems (might be deleted), and you could double check this dir for the issue. In addition I suggestt you upgrading the flink version because flink-1.3.3 is too old. After upgrading to flink-1.5 above, you do not need to consider this issue, because the exactly-once mode would not spill data to disk any more. Best, Zhijiang ------------------------------------------------------------------ From:syed <ms110400...@vu.edu.pk> Send Time:2019年6月12日(星期三) 10:16 To:user <user@flink.apache.org> Subject:java.io.FileNotFoundException in implementing exactly once Hi; I am trying to run the standard WordCount application under exactly once and at-least once processing guarantees, respectively. I successfully run the at-least once guarantee, however which running the exactly once guarantee, I face the following exception *Root exception:* java.io.FileNotFoundException: /tmp/flink-io-7a8947d4-c75c-4165-85a1-fb727dd98791/ff99c56a01707c5a610ad250e77e71be4c4ed762b6294d73cf9d780e0d422444.0.buffer (No such file or directory) at java.io.RandomAccessFile.open0(Native Method) at java.io.RandomAccessFile.open(RandomAccessFile.java:316) at java.io.RandomAccessFile.<init>(RandomAccessFile.java:243) at org.apache.flink.streaming.runtime.io.BufferSpiller.createSpillingChannel(BufferSpiller.java:259) at org.apache.flink.streaming.runtime.io.BufferSpiller.<init>(BufferSpiller.java:120) at org.apache.flink.streaming.runtime.io.BarrierBuffer.<init>(BarrierBuffer.java:147) at org.apache.flink.streaming.runtime.io.StreamInputProcessor.<init>(StreamInputProcessor.java:128) at org.apache.flink.streaming.runtime.tasks.OneInputStreamTask.init(OneInputStreamTask.java:56) at org.apache.flink.streaming.runtime.tasks.StreamTask.invoke(StreamTask.java:234) at org.apache.flink.runtime.taskmanager.Task.run(Task.java:702) at java.lang.Thread.run(Thread.java:748) *Keyed Aggregation -> Sink: Unnamed (1/1)* java.io.FileNotFoundException: /tmp/flink-io-7a8947d4-c75c-4165-85a1-fb727dd98791/ff99c56a01707c5a610ad250e77e71be4c4ed762b6294d73cf9d780e0d422444.0.buffer (No such file or directory) at java.io.RandomAccessFile.open0(Native Method) at java.io.RandomAccessFile.open(RandomAccessFile.java:316) at java.io.RandomAccessFile.<init>(RandomAccessFile.java:243) at org.apache.flink.streaming.runtime.io.BufferSpiller.createSpillingChannel(BufferSpiller.java:259) at org.apache.flink.streaming.runtime.io.BufferSpiller.<init>(BufferSpiller.java:120) at org.apache.flink.streaming.runtime.io.BarrierBuffer.<init>(BarrierBuffer.java:147) at org.apache.flink.streaming.runtime.io.StreamInputProcessor.<init>(StreamInputProcessor.java:128) at org.apache.flink.streaming.runtime.tasks.OneInputStreamTask.init(OneInputStreamTask.java:56) at org.apache.flink.streaming.runtime.tasks.StreamTask.invoke(StreamTask.java:234) at org.apache.flink.runtime.taskmanager.Task.run(Task.java:702) at java.lang.Thread.run(Thread.java:748) I am using Apache Kafka to keep data source available for checkpoints, and using flink 1.3.3. I face the same exception either I explicitly use Exactly once [/setCheckpointingMode(CheckpointingMode.EXACTLY_ONCE/)] or only use [ /enableCheckpointing(1000)/] Kind regards; Syed -- Sent from: http://apache-flink-user-mailing-list-archive.2336050.n4.nabble.com/