Chesnay Schepler created FLINK-3495:
---------------------------------------
Summary: RocksDB Tests can't run on Windows
Key: FLINK-3495
URL: https://issues.apache.org/jira/browse/FLINK-3495
Project: Flink
Issue Type: Bug
Components: Tests
Affects Versions: 1.0.0
Reporter: Chesnay Schepler
When running RocksDBStatebackendConfigTest#testPredefinedOptions test one
encounters this exception:
{code}
java.lang.ExceptionInInitializerError
at org.rocksdb.RocksDB.loadLibrary(RocksDB.java:47)
at org.rocksdb.RocksDB.<clinit>(RocksDB.java:23)
at org.rocksdb.Options.<clinit>(Options.java:21)
at
org.apache.flink.contrib.streaming.state.PredefinedOptions$2.createOptions(PredefinedOptions.java:77)
at
org.apache.flink.contrib.streaming.state.RocksDBStateBackend.getRocksDBOptions(RocksDBStateBackend.java:436)
at
org.apache.flink.contrib.streaming.state.RocksDBStateBackendConfigTest.testPredefinedOptions(RocksDBStateBackendConfigTest.java:193)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:483)
at
org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47)
at
org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
at
org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44)
at
org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)
at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271)
at
org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70)
at
org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229)
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:69)
at
com.intellij.rt.execution.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:234)
at
com.intellij.rt.execution.junit.JUnitStarter.main(JUnitStarter.java:74)
Caused by: java.lang.UnsupportedOperationException
at org.rocksdb.util.Environment.getJniLibraryName(Environment.java:40)
at org.rocksdb.NativeLibraryLoader.<clinit>(NativeLibraryLoader.java:19)
... 27 more
{code}
The Environment.getJniLibraryName method has branches for different operating
systems, and is missing a separate branch for windows. While this is resolved
in the RocksDB Github repository, it is not in the latest release (4.2).
This problem causes several test in RocksDBStatebackendConfigTest and all tests
in RocksDbStatebackendTest to fail. RocksDBAsyncKVSnapshotTests simply deadlock
aswell.
I propose disabling all tests when run on Windows.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)