问题
We have issue with deleting the state directory within Kafka streaming application. We are running application on inhouse container platform.
Insight into this issue will be much appreciated.
The log of the exception:
2018-09-18 09:26:09.112 INFO 1 --- [5-CleanupThread] o.a.k.s.p.internals.StateDirectory : stream-thread [ApplicationName-1ae22d38-32d3-451a-b039-372c79b2e6a5-CleanupThread] Deleting obsolete state directory 2_1 for task 2_1 as 601112ms has elapsed (cleanup delay is 600000ms). 2018-09-18 09:26:09.116 ERROR 1 --- [5-CleanupThread] o.a.k.s.p.internals.StateDirectory : stream-thread [ApplicationName-1ae22d38-32d3-451a-b039-372c79b2e6a5-CleanupThread] Failed to delete the state directory.
java.nio.file.DirectoryNotEmptyException: /tmp/ApplicationName/ApplicationName/2_1 at sun.nio.fs.UnixFileSystemProvider.implDelete(UnixFileSystemProvider.java:242) ~[na:1.8.0_161] at sun.nio.fs.AbstractFileSystemProvider.delete(AbstractFileSystemProvider.java:103) ~[na:1.8.0_161] at java.nio.file.Files.delete(Files.java:1126) ~[na:1.8.0_161] at org.apache.kafka.common.utils.Utils$2.postVisitDirectory(Utils.java:740) ~[kafka-clients-2.0.0.jar!/:na] at org.apache.kafka.common.utils.Utils$2.postVisitDirectory(Utils.java:723) ~[kafka-clients-2.0.0.jar!/:na] at java.nio.file.Files.walkFileTree(Files.java:2688) ~[na:1.8.0_161] at java.nio.file.Files.walkFileTree(Files.java:2742) ~[na:1.8.0_161] at org.apache.kafka.common.utils.Utils.delete(Utils.java:723) ~[kafka-clients-2.0.0.jar!/:na] at org.apache.kafka.streams.processor.internals.StateDirectory.cleanRemovedTasks(StateDirectory.java:287) [kafka-streams-2.0.0.jar!/:na] at org.apache.kafka.streams.processor.internals.StateDirectory.cleanRemovedTasks(StateDirectory.java:250) [kafka-streams-2.0.0.jar!/:na] at org.apache.kafka.streams.KafkaStreams$2.run(KafkaStreams.java:800) [kafka-streams-2.0.0.jar!/:na] at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) [na:1.8.0_161] at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:308) [na:1.8.0_161] at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:180) [na:1.8.0_161] at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:294) [na:1.8.0_161] at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [na:1.8.0_161] at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [na:1.8.0_161] at java.lang.Thread.run(Thread.java:748) [na:1.8.0_161]
来源:https://stackoverflow.com/questions/52476045/kafka-streaming-java-nio-file-directorynotemptyexception