You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by "Bret McGuire (Jira)" <ji...@apache.org> on 2026/01/26 22:16:00 UTC
[jira] [Created] (CASSJAVA-122) OsgiLz4IT appears to be failing after recent switch to new lz4 impl
Bret McGuire created CASSJAVA-122:
-------------------------------------
Summary: OsgiLz4IT appears to be failing after recent switch to new lz4 impl
Key: CASSJAVA-122
URL: https://issues.apache.org/jira/browse/CASSJAVA-122
Project: Apache Cassandra Java driver
Issue Type: Bug
Components: Tests
Reporter: Bret McGuire
Noted on Jenkins runs against master but also able to reproduce locally:
*11:57:43* [INFO] Running com.datastax.oss.driver.internal.osgi.OsgiLz4IT*11:57:43* *11:57:43* SLF4J(W): No SLF4J providers were found.*11:57:43* SLF4J(W): Defaulting to no-operation (NOP) logger implementation*11:57:43* SLF4J(W): See [https://www.slf4j.org/codes.html#noProviders] for further details.*11:57:43* Jan 15, 2026 5:57:26 PM io.netty.channel.ChannelInitializer exceptionCaught*11:57:43* WARNING: Failed to initialize a channel. Closing: [id: 0x54e22c31]*11:57:43* java.lang.IllegalStateException: Could not find the LZ4 library on the classpath (the driver declares it as an optional dependency, so you need to declare it explicitly)*11:57:43* at com.datastax.oss.driver.internal.core.protocol.Lz4Compressor.<init>(Lz4Compressor.java:54)*11:57:43* at com.datastax.oss.driver.internal.core.protocol.Lz4Compressor.<init>(Lz4Compressor.java:43)*11:57:43* at com.datastax.oss.driver.internal.core.protocol.BuiltInCompressors.newInstance(BuiltInCompressors.java:37)*11:57:43* at com.datastax.oss.driver.internal.core.context.DefaultDriverContext.buildCompressor(DefaultDriverContext.java:444)*11:57:43* at com.datastax.oss.driver.internal.core.util.concurrent.LazyReference.get(LazyReference.java:57)*11:57:43* at com.datastax.oss.driver.internal.core.context.DefaultDriverContext.getCompressor(DefaultDriverContext.java:828)*11:57:43* at com.datastax.oss.driver.internal.core.context.DefaultDriverContext.buildFrameCodec(DefaultDriverContext.java:454)*11:57:43* at com.datastax.oss.driver.internal.core.util.concurrent.LazyReference.get(LazyReference.java:57)*11:57:43* at com.datastax.oss.driver.internal.core.context.DefaultDriverContext.getFrameCodec(DefaultDriverContext.java:840)*11:57:43* at com.datastax.oss.driver.internal.core.channel.ChannelFactory$ChannelFactoryInitializer.initChannel(ChannelFactory.java:377)*11:57:43* at io.netty.channel.ChannelInitializer.initChannel(ChannelInitializer.java:129)*11:57:43* at io.netty.channel.ChannelInitializer.handlerAdded(ChannelInitializer.java:112)*11:57:43* at io.netty.channel.AbstractChannelHandlerContext.callHandlerAdded(AbstractChannelHandlerContext.java:1130)*11:57:43* at io.netty.channel.DefaultChannelPipeline.callHandlerAdded0(DefaultChannelPipeline.java:558)*11:57:43* at io.netty.channel.DefaultChannelPipeline.access$100(DefaultChannelPipeline.java:45)*11:57:43* at io.netty.channel.DefaultChannelPipeline$PendingHandlerAddedTask.execute(DefaultChannelPipeline.java:1410)*11:57:43* at io.netty.channel.DefaultChannelPipeline.callHandlerAddedForAllHandlers(DefaultChannelPipeline.java:1064)*11:57:43* at io.netty.channel.DefaultChannelPipeline.invokeHandlerAddedIfNeeded(DefaultChannelPipeline.java:599)*11:57:43* at io.netty.channel.AbstractChannel$AbstractUnsafe.register0(AbstractChannel.java:513)*11:57:43* at io.netty.channel.AbstractChannel$AbstractUnsafe.access$200(AbstractChannel.java:428)*11:57:43* at io.netty.channel.AbstractChannel$AbstractUnsafe$1.run(AbstractChannel.java:485)*11:57:43* at io.netty.util.concurrent.AbstractEventExecutor.runTask(AbstractEventExecutor.java:173)*11:57:43* at io.netty.util.concurrent.AbstractEventExecutor.safeExecute(AbstractEventExecutor.java:166)*11:57:43* at io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:472)*11:57:43* at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:569)*11:57:43* at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:998)*11:57:43* at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74)*11:57:43* at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)*11:57:43* at java.lang.Thread.run(Thread.java:748)*11:57:43* *11:57:43* ERROR: Bundle com.datastax.oss.driver.osgi [11] Error starting reference:file:target/classes (org.osgi.framework.BundleException: Activator start error in bundle com.datastax.oss.driver.osgi [11].)*11:57:43* com.datastax.oss.driver.api.core.AllNodesFailedException: Could not reach any contact point, make sure you've provided valid addresses (showing first 1 nodes, use getAllErrors() for more): Node(endPoint=127.0.0.1:9042, hostId=null, hashCode=7ca200fe): [java.lang.IllegalStateException: Could not find the LZ4 library on the classpath (the driver declares it as an optional dependency, so you need to declare it explicitly)]*11:57:43* at com.datastax.oss.driver.api.core.AllNodesFailedException.copy(AllNodesFailedException.java:143)*11:57:43* at com.datastax.oss.driver.internal.core.util.concurrent.CompletableFutures.getUninterruptibly(CompletableFutures.java:154)*11:57:43* at com.datastax.oss.driver.api.core.session.SessionBuilder.build(SessionBuilder.java:852)*11:57:43* at com.datastax.oss.driver.internal.osgi.MailboxActivator.buildSession(MailboxActivator.java:144)*11:57:43* at com.datastax.oss.driver.internal.osgi.MailboxActivator.start(MailboxActivator.java:56)*11:57:43* at org.apache.felix.framework.util.SecureAction.startActivator(SecureAction.java:849)*11:57:43* at org.apache.felix.framework.Felix.activateBundle(Felix.java:2429)*11:57:43* at org.apache.felix.framework.Felix.startBundle(Felix.java:2335)*11:57:43* at org.apache.felix.framework.Felix.setActiveStartLevel(Felix.java:1566)*11:57:43* at org.apache.felix.framework.FrameworkStartLevelImpl.run(FrameworkStartLevelImpl.java:308)*11:57:43* at java.lang.Thread.run(Thread.java:748)*11:57:43* Suppressed: java.lang.IllegalStateException: Could not find the LZ4 library on the classpath (the driver declares it as an optional dependency, so you need to declare it explicitly)*11:57:43* at com.datastax.oss.driver.internal.core.protocol.Lz4Compressor.<init>(Lz4Compressor.java:54)*11:57:43* at com.datastax.oss.driver.internal.core.protocol.Lz4Compressor.<init>(Lz4Compressor.java:43)*11:57:43* at com.datastax.oss.driver.internal.core.protocol.BuiltInCompressors.newInstance(BuiltInCompressors.java:37)*11:57:43* at com.datastax.oss.driver.internal.core.context.DefaultDriverContext.buildCompressor(DefaultDriverContext.java:444)*11:57:43* at com.datastax.oss.driver.internal.core.util.concurrent.LazyReference.get(LazyReference.java:57)*11:57:43* at com.datastax.oss.driver.internal.core.context.DefaultDriverContext.getCompressor(DefaultDriverContext.java:828)*11:57:43* at com.datastax.oss.driver.internal.core.context.DefaultDriverContext.buildFrameCodec(DefaultDriverContext.java:454)*11:57:43* at com.datastax.oss.driver.internal.core.util.concurrent.LazyReference.get(LazyReference.java:57)*11:57:43* at com.datastax.oss.driver.internal.core.context.DefaultDriverContext.getFrameCodec(DefaultDriverContext.java:840)*11:57:43* at com.datastax.oss.driver.internal.core.channel.ChannelFactory$ChannelFactoryInitializer.initChannel(ChannelFactory.java:377)*11:57:43* at io.netty.channel.ChannelInitializer.initChannel(ChannelInitializer.java:129)*11:57:43* at io.netty.channel.ChannelInitializer.handlerAdded(ChannelInitializer.java:112)*11:57:43* at io.netty.channel.AbstractChannelHandlerContext.callHandlerAdded(AbstractChannelHandlerContext.java:1130)*11:57:43* at io.netty.channel.DefaultChannelPipeline.callHandlerAdded0(DefaultChannelPipeline.java:558)*11:57:43* at io.netty.channel.DefaultChannelPipeline.access$100(DefaultChannelPipeline.java:45)*11:57:43* at io.netty.channel.DefaultChannelPipeline$PendingHandlerAddedTask.execute(DefaultChannelPipeline.java:1410)*11:57:43* at io.netty.channel.DefaultChannelPipeline.callHandlerAddedForAllHandlers(DefaultChannelPipeline.java:1064)*11:57:43* at io.netty.channel.DefaultChannelPipeline.invokeHandlerAddedIfNeeded(DefaultChannelPipeline.java:599)*11:57:43* at io.netty.channel.AbstractChannel$AbstractUnsafe.register0(AbstractChannel.java:513)*11:57:43* at io.netty.channel.AbstractChannel$AbstractUnsafe.access$200(AbstractChannel.java:428)*11:57:43* at io.netty.channel.AbstractChannel$AbstractUnsafe$1.run(AbstractChannel.java:485)*11:57:43* at io.netty.util.concurrent.AbstractEventExecutor.runTask(AbstractEventExecutor.java:173)*11:57:43* at io.netty.util.concurrent.AbstractEventExecutor.safeExecute(AbstractEventExecutor.java:166)*11:57:43* at io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:472)*11:57:43* at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:569)*11:57:43* at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:998)*11:57:43* at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74)*11:57:43* at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)*11:57:43* ... 1 more*11:57:43* Jan 15, 2026 5:57:26 PM org.apache.aries.spifly.BaseActivator log*11:57:43* INFO: Registered provider ch.qos.logback.classic.spi.LogbackServiceProvider of service org.slf4j.spi.SLF4JServiceProvider in bundle ch.qos.logback.classic*11:57:43* ERROR: Bundle lz4-java [40] Error starting file:/tmp/1768499772384-0/pax-exam-downloads/lz4-java_0.jar (org.osgi.framework.BundleException: Unable to resolve lz4-java [40](R 40.0): missing requirement [lz4-java [40](R 40.0)] osgi.wiring.package; (osgi.wiring.package=sun.misc) Unresolved requirements: [[lz4-java [40](R 40.0)] osgi.wiring.package; (osgi.wiring.package=sun.misc)])*11:57:43* org.osgi.framework.BundleException: Unable to resolve lz4-java [40](R 40.0): missing requirement [lz4-java [40](R 40.0)] osgi.wiring.package; (osgi.wiring.package=sun.misc) Unresolved requirements: [[lz4-java [40](R 40.0)] osgi.wiring.package; (osgi.wiring.package=sun.misc)]*11:57:43* at org.apache.felix.framework.Felix.resolveBundleRevision(Felix.java:4398)*11:57:43* at org.apache.felix.framework.Felix.startBundle(Felix.java:2308)*11:57:43* at org.apache.felix.framework.Felix.setActiveStartLevel(Felix.java:1566)*11:57:43* at org.apache.felix.framework.FrameworkStartLevelImpl.run(FrameworkStartLevelImpl.java:308)*11:57:43* at java.lang.Thread.run(Thread.java:748)*11:57:43* 17:57:26.942 [main] ERROR o.o.p.e.forked.ForkedTestContainer - Bundle [id:40, url:mvn:at.yawk.lz4/lz4-java/1.10.1] is not resolved*11:57:43* *11:57:43* [ERROR] Tests run: 1, Failures: 0, Errors: 1, Skipped: 0, Time elapsed: 11.484 s <<< FAILURE! - in com.datastax.oss.driver.internal.osgi.OsgiLz4IT*11:57:43* [ERROR] com.datastax.oss.driver.internal.osgi.OsgiLz4IT.test_lz4_compression Time elapsed: 11.484 s <<< ERROR!
Pretty sure this came in with the [lz4 update|https://github.com/apache/cassandra-java-driver/commit/595cb29912dc8b55663cc13bafe3f17dc4f91ce6] to address known CVEs. Looks like we aren't building a valid bundle for some reason... note this bit here as the basis for that hypothesis:
*11:57:43* ERROR: Bundle lz4-java [40] Error starting file:/tmp/1768499772384-0/pax-exam-downloads/lz4-java_0.jar (org.osgi.framework.BundleException: Unable to resolve lz4-java [40](R 40.0): missing requirement [lz4-java [40](R 40.0)] osgi.wiring.package; (osgi.wiring.package=sun.misc) Unresolved requirements: [[lz4-java [40](R 40.0)] osgi.wiring.package; (osgi.wiring.package=sun.misc)])*11:57:43* org.osgi.framework.BundleException: Unable to resolve lz4-java [40](R 40.0): missing requirement [lz4-java [40](R 40.0)] osgi.wiring.package; (osgi.wiring.package=sun.misc) Unresolved requirements: [[lz4-java [40](R 40.0)] osgi.wiring.package; (osgi.wiring.package=sun.misc)]*11:57:43* at org.apache.felix.framework.Felix.resolveBundleRevision(Felix.java:4398)*11:57:43* at org.apache.felix.framework.Felix.startBundle(Felix.java:2308)
--
This message was sent by Atlassian Jira
(v8.20.10#820010)
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@cassandra.apache.org
For additional commands, e-mail: commits-help@cassandra.apache.org