[jira] [Created] (FLINK-3495) RocksDB Tests can't run on Windows

classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

[jira] [Created] (FLINK-3495) RocksDB Tests can't run on Windows

Shang Yuanchun (Jira)
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)