[ 
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)

Reply via email to