[ https://issues.apache.org/jira/browse/KAFKA-12190?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17264398#comment-17264398 ]
A. Sophie Blee-Goldman commented on KAFKA-12190: ------------------------------------------------ Hey [~awilkinson], thanks for the bug report. Technically Kafka Streams is not "officially supported" on Windows and we encourage users to run on Linux based systems if at all possible. But I recognize that sometimes it really isn't possible, so I'm sorry that this slipped through. We've had kind of a "best effort" approach to supporting Windows based on user reports in the past. Unfortunately I doubt many (if any) Kafka Streams devs even have a Windows environment set up for testing, much less run those tests on a regular basis. I'm not sure what the best approach would be to prevent this sort of thing going forward – perhaps we need to reach out to Windows users during the release process and ask them to participate in the pre-release testing. For now, would you be interested in submitting a patch for this issue? We should try to get this fixed before the next release > Failure on Windows due to an UnsupportedOperationException when > StateDirectory sets file permissions > ---------------------------------------------------------------------------------------------------- > > Key: KAFKA-12190 > URL: https://issues.apache.org/jira/browse/KAFKA-12190 > Project: Kafka > Issue Type: Bug > Components: streams > Affects Versions: 2.6.1 > Reporter: Andy Wilkinson > Priority: Major > > There appears to be a regression in Kafka 2.6.1 due to [the > changes|https://github.com/apache/kafka/pull/9583] made for KAFKA-10705 that > causes a failure on Windows. After upgrading to 2.6.1 from 2.6.0, we're > seeing failures in Spring Boot's CI on Windows such as the following: > {noformat} > Caused by: java.lang.UnsupportedOperationException: (No message provided) > at java.nio.file.Files.setPosixFilePermissions(Files.java:2044) > at > org.apache.kafka.streams.processor.internals.StateDirectory.<init>(StateDirectory.java:115) > > at > org.apache.kafka.streams.KafkaStreams.<init>(KafkaStreams.java:745) > at > org.apache.kafka.streams.KafkaStreams.<init>(KafkaStreams.java:585) > at > org.springframework.kafka.config.StreamsBuilderFactoryBean.start(StreamsBuilderFactoryBean.java:316) > > at > org.springframework.context.support.DefaultLifecycleProcessor.doStart(DefaultLifecycleProcessor.java:178) > > at > org.springframework.context.support.DefaultLifecycleProcessor.access$200(DefaultLifecycleProcessor.java:54) > > at > org.springframework.context.support.DefaultLifecycleProcessor$LifecycleGroup.start(DefaultLifecycleProcessor.java:356) > > at java.lang.Iterable.forEach(Iterable.java:75) > at > org.springframework.context.support.DefaultLifecycleProcessor.startBeans(DefaultLifecycleProcessor.java:155) > > at > org.springframework.context.support.DefaultLifecycleProcessor.onRefresh(DefaultLifecycleProcessor.java:123) > > at > org.springframework.context.support.AbstractApplicationContext.finishRefresh(AbstractApplicationContext.java:940) > > at > org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:591) > > at > org.springframework.boot.test.context.runner.AbstractApplicationContextRunner.configureContext(AbstractApplicationContextRunner.java:447) > > at > org.springframework.boot.test.context.runner.AbstractApplicationContextRunner.createAndLoadContext(AbstractApplicationContextRunner.java:423) > > at > org.springframework.boot.test.context.assertj.AssertProviderApplicationContextInvocationHandler.getContextOrStartupFailure(AssertProviderApplicationContextInvocationHandler.java:61) > > at > org.springframework.boot.test.context.assertj.AssertProviderApplicationContextInvocationHandler.<init>(AssertProviderApplicationContextInvocationHandler.java:48) > > at > org.springframework.boot.test.context.assertj.ApplicationContextAssertProvider.get(ApplicationContextAssertProvider.java:112) > > at > org.springframework.boot.test.context.runner.AbstractApplicationContextRunner.createAssertableContext(AbstractApplicationContextRunner.java:412) > > at > org.springframework.boot.test.context.runner.AbstractApplicationContextRunner.lambda$null$0(AbstractApplicationContextRunner.java:382) > > at > org.springframework.boot.test.util.TestPropertyValues.applyToSystemProperties(TestPropertyValues.java:175) > > at > org.springframework.boot.test.context.runner.AbstractApplicationContextRunner.lambda$run$1(AbstractApplicationContextRunner.java:381) > > at > org.springframework.boot.test.context.runner.AbstractApplicationContextRunner.withContextClassLoader(AbstractApplicationContextRunner.java:392) > > at > org.springframework.boot.test.context.runner.AbstractApplicationContextRunner.run(AbstractApplicationContextRunner.java:381) > > at > org.springframework.boot.actuate.autoconfigure.metrics.KafkaMetricsAutoConfigurationTests.whenKafkaStreamsIsEnabledAndThereIsNoMeterRegistryThenListenerCustomizationBacksOff(KafkaMetricsAutoConfigurationTests.java:92) > {noformat} > The same code worked without changes using Kafka 2.6.0. -- This message was sent by Atlassian Jira (v8.3.4#803005)