You are viewing a plain text version of this content. The canonical link for it is here.
Posted to jira@kafka.apache.org by "Evan Nelson (Jira)" <ji...@apache.org> on 2019/09/12 20:17:00 UTC

[jira] [Commented] (KAFKA-8427) Error while cleanup under windows for EmbeddedKafkaCluster

    [ https://issues.apache.org/jira/browse/KAFKA-8427?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16928863#comment-16928863 ] 

Evan Nelson commented on KAFKA-8427:
------------------------------------

This issue is still present in 2.3.0

> Error while cleanup under windows for EmbeddedKafkaCluster
> ----------------------------------------------------------
>
>                 Key: KAFKA-8427
>                 URL: https://issues.apache.org/jira/browse/KAFKA-8427
>             Project: Kafka
>          Issue Type: Bug
>          Components: streams
>    Affects Versions: 2.0.0, 2.2.0
>            Reporter: Sukumaar Mane
>            Priority: Major
>              Labels: kafka, testing, win10, windows
>
> Unable to run a simple test case for EmbeddedKafkaCluster where there is an object of  EmbeddedKafkaCluster with 1 broker.
>  Running below simple code (which is actually code snippet from *org.apache.kafka.streams.KafkaStreamsTest* class)
> {code:java}
> public class KTest {
>     private static final int NUM_BROKERS = 1;
>     // We need this to avoid the KafkaConsumer hanging on poll
>     // (this may occur if the test doesn't complete quickly enough)
>     @ClassRule
>     public static final EmbeddedKafkaCluster CLUSTER = new EmbeddedKafkaCluster(NUM_BROKERS);
>     private static final int NUM_THREADS = 2;
>     private final StreamsBuilder builder = new StreamsBuilder();
>     @Rule
>     public TestName testName = new TestName();
>     private KafkaStreams globalStreams;
>     private Properties props;
>     @Before
>     public void before() {
>         props = new Properties();
>         props.put(StreamsConfig.APPLICATION_ID_CONFIG, "appId");
>         props.put(StreamsConfig.CLIENT_ID_CONFIG, "clientId");
>         props.put(StreamsConfig.BOOTSTRAP_SERVERS_CONFIG, CLUSTER.bootstrapServers());
>         props.put(StreamsConfig.METRIC_REPORTER_CLASSES_CONFIG, MockMetricsReporter.class.getName());
>         props.put(StreamsConfig.STATE_DIR_CONFIG, TestUtils.tempDirectory().getPath());
>         props.put(StreamsConfig.NUM_STREAM_THREADS_CONFIG, NUM_THREADS);
>         globalStreams = new KafkaStreams(builder.build(), props);
>     }
>     @After
>     public void cleanup() {
>         if (globalStreams != null) {
>             globalStreams.close();
>         }
>     }
>     @Test
>     public void thisIsFirstFakeTest() {
>         assert true;
>     }
> }
> {code}
> But getting these error message at the time of cleanup
> {code:java}
> java.nio.file.FileSystemException: C:\Users\Sukumaar\AppData\Local\Temp\kafka-3445189010908127083\version-2\log.1: The process cannot access the file because it is being used by another process.
> 	at sun.nio.fs.WindowsException.translateToIOException(WindowsException.java:86)
> 	at sun.nio.fs.WindowsException.rethrowAsIOException(WindowsException.java:97)
> 	at sun.nio.fs.WindowsException.rethrowAsIOException(WindowsException.java:102)
> 	at sun.nio.fs.WindowsFileSystemProvider.implDelete(WindowsFileSystemProvider.java:269)
> 	at sun.nio.fs.AbstractFileSystemProvider.delete(AbstractFileSystemProvider.java:103)
> 	at java.nio.file.Files.delete(Files.java:1126)
> 	at org.apache.kafka.common.utils.Utils$2.visitFile(Utils.java:753)
> 	at org.apache.kafka.common.utils.Utils$2.visitFile(Utils.java:742)
> 	at java.nio.file.Files.walkFileTree(Files.java:2670)
> 	at java.nio.file.Files.walkFileTree(Files.java:2742)
> 	at org.apache.kafka.common.utils.Utils.delete(Utils.java:742)
> 	at kafka.zk.EmbeddedZookeeper.shutdown(EmbeddedZookeeper.scala:65)
> 	at org.apache.kafka.streams.integration.utils.EmbeddedKafkaCluster.stop(EmbeddedKafkaCluster.java:122)
> 	at org.apache.kafka.streams.integration.utils.EmbeddedKafkaCluster.after(EmbeddedKafkaCluster.java:151)
> 	at org.junit.rules.ExternalResource$1.evaluate(ExternalResource.java:50)
> 	at org.junit.rules.RunRules.evaluate(RunRules.java:20)
> 	at org.junit.runners.ParentRunner.run(ParentRunner.java:309)
> 	at org.junit.runner.JUnitCore.run(JUnitCore.java:160)
> 	at com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:68)
> 	at com.intellij.rt.execution.junit.IdeaTestRunner$Repeater.startRunnerWithArgs(IdeaTestRunner.java:47)
> 	at com.intellij.rt.execution.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:242)
> 	at com.intellij.rt.execution.junit.JUnitStarter.main(JUnitStarter.java:70)
> {code}
> One similar issue (KAFKA-6075) had been reported and marked as resolved but still getting the error while cleanup.



--
This message was sent by Atlassian Jira
(v8.3.2#803003)