Repository navigation
infinispan 16.0.9 server with rocksdb does not works in docker mode. #17307
Copy link
Copy link
Description
Describe the bug
I was previously using infinispan 15.2.6 with rocksdb, it was working fine. But after I switched to 16.0.9 I started getting error when creating a cache with persistance
<distributed-cache statistics="true" owners="1">\
<encoding media-type="application/x-protostream"/>\
<locking striping="false" concurrency-level="256"/>\
<persistence>\
<rocksdb-store xmlns="urn:infinispan:config:store:rocksdb:16.0" path="publish-status-cache-rocksdb" shared="false" purge="false" transactional="false">\
<compression type="SNAPPY"/>\
</rocksdb-store>\
</persistence>\
<state-transfer await-initial-transfer="false" />\
</distributed-cache>
Error I get is
Caused by: java.lang.NoClassDefFoundError: org/rocksdb/CompressionType
infinispan-1 | at org.infinispan.persistence.rocksdb.configuration.CompressionType.<clinit>(CompressionType.java:4)
infinispan-1 | at org.infinispan.persistence.rocksdb.configuration.RocksDBStoreConfiguration.<clinit>(RocksDBStoreConfiguration.java:23)
infinispan-1 | at org.infinispan.persistence.rocksdb.configuration.RocksDBStoreConfigurationBuilder.<init>(RocksDBStoreConfigurationBuilder.java:23)
infinispan-1 | at java.base/jdk.internal.reflect.DirectConstructorHandleAccessor.newInstance(DirectConstructorHandleAccessor.java:62)
infinispan-1 | ... 28 more
infinispan-1 | Caused by: java.lang.ClassNotFoundException: org.rocksdb.CompressionType
infinispan-1 | at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:580)
infinispan-1 | at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:490)
infinispan-1 | ... 32 more
Below is my docker file
FROM quay.io/infinispan/server:16.0.9
RUN echo '<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0">' \
'<profiles>' \
'<profile>' \
'<id>infinispan</id>' \
'<repositories>' \
'<repository>' \
'<id>infinispan</id>' \
'<url>https://repository.infinispan.org/</url>' \
'</repository>' \
'<repository>' \
'<id>central</id>' \
'<url>https://repo1.maven.org/maven2/</url>' \
'</repository>' \
'</repositories>' \
'</profile>' \
'</profiles>' \
'<activeProfiles>' \
'<activeProfile>infinispan</activeProfile>' \
'</activeProfiles>' \
'</settings>' > /tmp/settings.xml
ENV MAVEN_OPTS="-s /tmp/settings.xml"
RUN /opt/infinispan/bin/cli.sh install org.rocksdb:rocksdbjni:9.0.1
RUN /opt/infinispan/bin/cli.sh install org.infinispan:infinispan-cachestore-rocksdb:16.0.9
RUN cp /opt/infinispan/server/lib/rocksdbjni-9.0.1.jar /opt/infinispan/lib/
RUN cp /opt/infinispan/server/lib/infinispan-cachestore-rocksdb-16.0.9.jar /opt/infinispan/lib/
USER root
RUN chown -R 1000:1000 /opt/infinispan/server
USER 1000:1000
ENTRYPOINT ["/opt/infinispan/bin/launch.sh"]
I have confirmed that rocksdbjni jar is present in /opt/infinispan/lib and /opt/infinispan/server/lib
Expected behavior
cache creation with rocksdb persistance should work
Actual behavior
cache creation fails
How to Reproduce?
- Use the docker file pasted above to create a docker image
- run docker image to start server
- Use any client to try to create cache based on cache config above
Reactions are currently unavailable
Metadata
Metadata
Assignees
Type
Fields
Priority
None yet
Projects
- StatusShow more project fieldsDone
Activity
[infinispan#17307] Move RocksDB cache store out of the server distrib…
[#17307] Move RocksDB cache store out of the server distribution
[#17307] Move RocksDB cache store out of the server distribution
[#17307] Move RocksDB cache store out of the server distribution