kafka-junit
kafka-junit copied to clipboard
Kafka 3 on Windows
It's not a Kafka JUnit5 issue, but I share by concerns to know if there are workarounds.
As you may know, Kafka 3 behaves poorly on Windows filesystems:
2022-01-31 17:44:36.501 [main] ERROR k.server.BrokerMetadataCheckpoint - Failed to write meta.properties due to
java.nio.file.AccessDeniedException: C:\Users\gquintana\AppData\Local\Temp\kafka-unit4560767983812228806
at java.base/sun.nio.fs.WindowsException.translateToIOException(WindowsException.java:89)
at java.base/sun.nio.fs.WindowsException.rethrowAsIOException(WindowsException.java:103)
at java.base/sun.nio.fs.WindowsException.rethrowAsIOException(WindowsException.java:108)
at java.base/sun.nio.fs.WindowsFileSystemProvider.newFileChannel(WindowsFileSystemProvider.java:120)
at java.base/java.nio.channels.FileChannel.open(FileChannel.java:292)
at java.base/java.nio.channels.FileChannel.open(FileChannel.java:345)
at org.apache.kafka.common.utils.Utils.flushDir(Utils.java:953)
at org.apache.kafka.common.utils.Utils.atomicMoveWithFallback(Utils.java:941)
at org.apache.kafka.common.utils.Utils.atomicMoveWithFallback(Utils.java:916)
at kafka.server.BrokerMetadataCheckpoint.liftedTree1$1(BrokerMetadataCheckpoint.scala:214)
at kafka.server.BrokerMetadataCheckpoint.write(BrokerMetadataCheckpoint.scala:204)
at kafka.server.KafkaServer.$anonfun$checkpointBrokerMetadata$2(KafkaServer.scala:772)
at kafka.server.KafkaServer.$anonfun$checkpointBrokerMetadata$2$adapted(KafkaServer.scala:770)
at scala.collection.TraversableLike$WithFilter.$anonfun$foreach$1(TraversableLike.scala:877)
at scala.collection.IndexedSeqOptimized.foreach(IndexedSeqOptimized.scala:36)
at scala.collection.IndexedSeqOptimized.foreach$(IndexedSeqOptimized.scala:33)
at scala.collection.mutable.WrappedArray.foreach(WrappedArray.scala:38)
at scala.collection.TraversableLike$WithFilter.foreach(TraversableLike.scala:876)
at kafka.server.KafkaServer.checkpointBrokerMetadata(KafkaServer.scala:770)
at kafka.server.KafkaServer.startup(KafkaServer.scala:322)
at com.salesforce.kafka.test.KafkaTestServer.start(KafkaTestServer.java:313)
at com.salesforce.kafka.test.KafkaTestCluster.start(KafkaTestCluster.java:170)
at com.salesforce.kafka.test.junit5.SharedKafkaTestResource.beforeAll(SharedKafkaTestResource.java:87)
Using Kafka JUnit5 + Kafka 2.8.1 doesn't produce this error.