apache / apache/pulsar

[Bug] InvalidPathException in unit test of pulsar on windows 11

Open
#21,868 1 comment 0 reactions 0 assignees View on GitHub
type/bug
Dominant language
Java
Stars
15.3k
Forks
3.8k
Avg merge
1d 14h
Merged PRs (30d)
160

Description

### Search before asking

- [X] I searched in the [issues](https://github.com/apache/pulsar/issues) and found nothing similar.

### Version

3.1.2

### Minimal reproduce step

On windows 11 with java 17, in CMD window, in folder of pulsar source code, run 'mvnw.cmd test'.

### What did you expect to see?

Expect build success.

### What did you see instead?

```
INFO] Running org.apache.pulsar.common.policies.data.NonPersistentPartitionedTopicStatsTest
[INFO] Tests run: 3, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.289 s - in org.apache.pulsar.common.policies.data.LocalPolicesTest
[INFO] Running org.apache.pulsar.common.policies.data.OffloadPoliciesTest
[INFO] Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.205 s - in org.apache.pulsar.common.policies.data.NamespaceOwnershipStatusTest
[INFO] Running org.apache.pulsar.common.policies.data.PartitionedTopicStatsTest
[INFO] Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.233 s - in org.apache.pulsar.common.policies.data.NonPersistentPartitionedTopicStatsTest
[INFO] Running org.apache.pulsar.common.policies.data.PersistencePoliciesTest
[INFO] Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.198 s - in org.apache.pulsar.common.policies.data.PartitionedTopicStatsTest
[ERROR] Tests run: 11, Failures: 1, Errors: 0, Skipped: 2, Time elapsed: 0.321 s <<< FAILURE! - in org.apache.pulsar.common.policies.data.OffloadPoliciesTest
[ERROR] org.apache.pulsar.common.policies.data.OffloadPoliciesTest.testSupportExtraOffloadDrivers Time elapsed: 0 s <<< FAILURE!
java.nio.file.InvalidPathException: Illegal char <:> at index 2: /C:/Projs_github/pulsar/pulsar-common/target/test-classes/
at java.base/sun.nio.fs.WindowsPathParser.normalize(WindowsPathParser.java:182)
at java.base/sun.nio.fs.WindowsPathParser.parse(WindowsPathParser.java:153)
at java.base/sun.nio.fs.WindowsPathParser.parse(WindowsPathParser.java:77)
at java.base/sun.nio.fs.WindowsPath.parse(WindowsPath.java:92)
at java.base/sun.nio.fs.WindowsFileSystem.getPath(WindowsFileSystem.java:232)
at java.base/java.nio.file.Path.of(Path.java:147)
at java.base/java.nio.file.Paths.get(Paths.java:69)
at org.apache.pulsar.common.policies.data.OffloadPoliciesTest$TestClassLoader.getClass(OffloadPoliciesTest.java:413)
at org.apache.pulsar.common.policies.data.OffloadPoliciesTest$TestClassLoader.loadClass(OffloadPoliciesTest.java:406)
at org.apache.pulsar.common.policies.data.OffloadPoliciesTest.testSupportExtraOffloadDrivers(OffloadPoliciesTest.java:387)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:568)
at org.testng.internal.invokers.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:139)
at org.testng.internal.invokers.InvokeMethodRunnable.runOne(InvokeMethodRunnable.java:47)
at org.testng.internal.invokers.InvokeMethodRunnable.call(InvokeMethodRunnable.java:76)
at org.testng.internal.invokers.InvokeMethodRunnable.call(InvokeMethodRunnable.java:11)
at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
at java.base/java.lang.Thread.run(Thread.java:833)

[INFO] Running org.apache.pulsar.common.policies.data.PersistentOfflineTopicStatsTest
[INFO] Running org.apache.pulsar.common.policies.data.PersistentTopicStatsTest
[INFO] Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.191 s - in org.apache.pulsar.common.policies.data.PersistencePoliciesTest
[INFO] Running org.apache.pulsar.common.policies.data.PoliciesDataTest
[INFO] Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.242 s - in org.apache.pulsar.common.policies.data.PersistentOfflineTopicStatsTest
[INFO] Running org.apache.pulsar.common.policies.data.PolicyHierarchyValueTest
[WARNING] Tests run: 5, Failures: 0, Errors: 0, Skipped: 5, Time elapsed: 0.367 s - in org.apache.pulsar.common.policies.data.PersistentTopicStatsTest
[INFO] Running org.apache.pulsar.common.policies.data.PublisherStatsTest
[INFO] Tests run: 4, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.524 s - in org.apache.pulsar.common.policies.data.PoliciesDataTest
[INFO] Running org.apache.pulsar.common.policies.data.ReplicatorStatsTest
[INFO] Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.457 s - in org.apache.pulsar.common.policies.data.PolicyHierarchyValueTest
[INFO] Running org.apache.pulsar.common.policies.data.ResourceQuotaTest
[WARNING] Tests run: 2, Failures: 0, Errors: 0, Skipped: 2, Time elapsed: 0.444 s - in org.apache.pulsar.common.policies.data.PublisherStatsTest
[INFO] Running org.apache.pulsar.common.policies.data.RetentionPolicesTest
[INFO] Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.435 s - in org.apache.pulsar.common.policies.data.ReplicatorStatsTest
[INFO] Running org.apache.pulsar.common.policies.data.stats.SubscriptionStatsImplTest
[INFO] Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.496 s - in org.apache.pulsar.common.policies.data.ResourceQuotaTest

......

WARNING] Tests run: 12, Failures: 0, Errors: 0, Skipped: 12, Time elapsed: 3.707 s - in org.apache.pulsar.common.util.ReflectionsTest
[INFO] Running org.apache.pulsar.common.util.RunnablesTest
[INFO] Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 4.215 s - in org.apache.pulsar.common.util.RelativeTimeUtilTest
[INFO] Running org.apache.pulsar.common.util.TrustManagerProxyTest
[WARNING] Tests run: 1, Failures: 0, Errors: 0, Skipped: 1, Time elapsed: 3.292 s - in org.apache.pulsar.common.util.RunnablesTest
[INFO] Running org.apache.pulsar.common.util.URIPreconditionsTest
[ERROR] Tests run: 3, Failures: 1, Errors: 0, Skipped: 2, Time elapsed: 4.274 s <<< FAILURE! - in org.apache.pulsar.common.util.TrustManagerProxyTest
[ERROR] org.apache.pulsar.common.util.TrustManagerProxyTest.testLoadCA[ca/multiple-ca.pem, 2](4) Time elapsed: 0 s <<< FAILURE!
java.nio.file.InvalidPathException: Illegal char <:> at index 2: /C:/Projs_github/pulsar/pulsar-common/target/test-classes/ca/multiple-ca.pem
at java.base/sun.nio.fs.WindowsPathParser.normalize(WindowsPathParser.java:182)
at java.base/sun.nio.fs.WindowsPathParser.parse(WindowsPathParser.java:153)
at java.base/sun.nio.fs.WindowsPathParser.parse(WindowsPathParser.java:77)
at java.base/sun.nio.fs.WindowsPath.parse(WindowsPath.java:92)
at java.base/sun.nio.fs.WindowsFileSystem.getPath(WindowsFileSystem.java:232)
at java.base/java.nio.file.Path.of(Path.java:147)
at java.base/java.nio.file.Paths.get(Paths.java:69)
at org.apache.pulsar.common.util.FileModifiedTimeUpdater.updateLastModifiedTime(FileModifiedTimeUpdater.java:48)
at org.apache.pulsar.common.util.FileModifiedTimeUpdater.(FileModifiedTimeUpdater.java:43)
at org.apache.pulsar.common.util.TrustManagerProxy.(TrustManagerProxy.java:48)
at org.apache.pulsar.common.util.TrustManagerProxyTest.testLoadCA(TrustManagerProxyTest.java:46)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:568)
at org.testng.internal.invokers.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:139)
at org.testng.internal.invokers.InvokeMethodRunnable.runOne(InvokeMethodRunnable.java:47)
at org.testng.internal.invokers.InvokeMethodRunnable.call(InvokeMethodRunnable.java:76)
at org.testng.internal.invokers.InvokeMethodRunnable.call(InvokeMethodRunnable.java:11)
at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
at java.base/java.lang.Thread.run(Thread.java:833)

[INFO] Running org.apache.pulsar.exception.PulsarExceptionTest
[WARNING] Tests run: 2, Failures: 0, Errors: 0, Skipped: 2, Time elapsed: 3.43 s - in org.apache.pulsar.common.util.URIPreconditionsTest
[INFO] Running org.apache.pulsar.policies.data.loadbalancer.LocalBrokerDataTest
[WARNING] Tests run: 3, Failures: 0, Errors: 0, Skipped: 3, Time elapsed: 3.513 s - in org.apache.pulsar.exception.PulsarExceptionTest
[INFO] Tests run: 13, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 16.486 s - in org.apache.pulsar.common.util.RateLimiterTest
[WARNING] Tests run: 3, Failures: 0, Errors: 0, Skipped: 3, Time elapsed: 3.276 s - in org.apache.pulsar.policies.data.loadbalancer.LocalBrokerDataTest

......

[INFO] Apache Pulsar :: Tests :: Pulsar-Client-Shade Test . SKIPPED
[INFO] Apache Pulsar :: Tests :: Pulsar-Client-Admin-Shade Test SKIPPED
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 02:08 min
[INFO] Finished at: 2024-01-09T09:13:36+08:00
[INFO] ------------------------------------------------------------------------
[INFO] 62 goals, 62 executed
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-surefire-plugin:3.1.0:test (default-test) on project pulsar-common: There are test failures.
[ERROR]
[ERROR] Please refer to C:\Projs_github\pulsar\pulsar-common\target\surefire-reports for the individual test results.
[ERROR] Please refer to dump files (if any exist) [date].dump, [date]-jvmRun[N].dump and [date].dumpstream.
[ERROR] -> [Help 1]
[ERROR]
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR]
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoFailureException
[ERROR]
[ERROR] After correcting the problems, you can resume the build with the command
[ERROR] mvn -rf :pulsar-common

```

### Anything else?

No.

### Are you willing to submit a PR?

- [ ] I'm willing to submit a PR!

Contributor guide

Open the contributing guide

Research direction

Start by reproducing the failure with `mvnw.cmd test` on Windows 11 and review the stack traces in OffloadPoliciesTest and TrustManagerProxyTest. Read OffloadPoliciesTest lines 387, 406, and 413, plus FileModifiedTimeUpdater lines 43 and 48, to trace the invalid path handling. Done means the affected tests and the Maven build pass on Windows.

Written by the indexing model from the issue text.

Assessment

Tech stack
java
Domain
operating-systems, testing
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.