[ https://issues.apache.org/jira/browse/KAFKA-8970?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16944039#comment-16944039 ]
John Roesler commented on KAFKA-8970: ------------------------------------- Also, do you mean you are trying to run two instances of KafkaStreams on the same machine, with the same state directory? Depending on the guarantees of your filesystem, this might or might not work. In any case, I'm not 100% sure it's recommended. Can you explain why this is preferable to, say, just using more threads in one instance? Or have I misunderstood you? > StateDirectory creation fails with Exception > -------------------------------------------- > > Key: KAFKA-8970 > URL: https://issues.apache.org/jira/browse/KAFKA-8970 > Project: Kafka > Issue Type: Bug > Components: streams > Reporter: Nishkam Ravi > Priority: Major > > When two threads try to create KafkaStreams simultaneously, one of them > succeeds while the other fails with the following exception: > org.apache.kafka.streams.errors.StreamsException: > org.apache.kafka.streams.errors.ProcessorStateException: base state directory > [/tmp/kafka-streams] doesn't exist and couldn't be created > Quick investigation suggests that this is because the code at/around: > [https://github.com/apache/kafka/blob/trunk/streams/src/main/java/org/apache/kafka/streams/processor/internals/StateDirectory.java#L82] > is not synchronized and can lead to race conditions. > Specifying different values for state.dir can be a workaround for this issue > but a bit cumbersome. Can we just make this synchronized? -- This message was sent by Atlassian Jira (v8.3.4#803005)