Hi all,
Recently I face some issues when a node is joining an already existing cluster,
the bootstrap ends up incomplete and in failed state due to some streams have
failed.
Using Cassandra 5.0.3 running on OpenJDK 17.0.15:
Logs show:
WARN [NonPeriodicTasks:1] 2025-05-08 13:23:26,145 StreamResultFuture.java:250
- [Stream #e8dc7090-2bf8-11f0-8e15-57fc8d65eca3] Stream failed:
Session peer /172.20.145.155:7000 Failed because of an unknown exception
java.lang.ClassCastException: class
org.apache.cassandra.net.OutboundConnectionInitiator$Result$Incompatible cannot
be cast to class
org.apache.cassandra.net.OutboundConnectionInitiator$Result$Success
(org.apache.cassandra.net.OutboundConnectionInitiator$Result$In
compatible and
org.apache.cassandra.net.OutboundConnectionInitiator$Result$Success are in
unnamed module of loader 'app')
org.apache.cassandra.net.OutboundConnectionInitiator$Result.success(OutboundConnectionInitiator.java:520)
org.apache.cassandra.streaming.async.NettyStreamingConnectionFactory.connect(NettyStreamingConnectionFactory.java:68)
Session peer /172.20.145.29:7000 Failed because of an unknown exception
java.lang.ClassCastException: class
org.apache.cassandra.net.OutboundConnectionInitiator$Result$Incompatible cannot
be cast to class
org.apache.cassandra.net.OutboundConnectionInitiator$Result$Success
(org.apache.cassandra.net.OutboundConnectionInitiator$Result$In
compatible and
org.apache.cassandra.net.OutboundConnectionInitiator$Result$Success are in
unnamed module of loader 'app')
org.apache.cassandra.net.OutboundConnectionInitiator$Result.success(OutboundConnectionInitiator.java:520)
org.apache.cassandra.streaming.async.NettyStreamingConnectionFactory.connect(NettyStreamingConnectionFactory.java:68)
Session peer /172.20.145.207:7000 Failed because of an unknown exception
java.lang.ClassCastException: class
org.apache.cassandra.net.OutboundConnectionInitiator$Result$Incompatible cannot
be cast to class
org.apache.cassandra.net.OutboundConnectionInitiator$Result$Success
(org.apache.cassandra.net.OutboundConnectionInitiator$Result$In
compatible and
org.apache.cassandra.net.OutboundConnectionInitiator$Result$Success are in
unnamed module of loader 'app')
org.apache.cassandra.net.OutboundConnectionInitiator$Result.success(OutboundConnectionInitiator.java:520)
org.apache.cassandra.streaming.async.NettyStreamingConnectionFactory.connect(NettyStreamingConnectionFactory.java:68)
Session peer /172.20.145.209:7000 Failed because of an unknown exception
java.lang.ClassCastException: class
org.apache.cassandra.net.OutboundConnectionInitiator$Result$Incompatible cannot
be cast to class
org.apache.cassandra.net.OutboundConnectionInitiator$Result$Success
(org.apache.cassandra.net.OutboundConnectionInitiator$Result$In
compatible and
org.apache.cassandra.net.OutboundConnectionInitiator$Result$Success are in
unnamed module of loader 'app')
org.apache.cassandra.net.OutboundConnectionInitiator$Result.success(OutboundConnectionInitiator.java:520)
org.apache.cassandra.streaming.async.NettyStreamingConnectionFactory.connect(NettyStreamingConnectionFactory.java:68)
ERROR [main] 2025-05-08 13:23:26,149 StorageService.java:2216 - Error while
waiting on bootstrap to complete. Bootstrap will have to
be restarted.
java.util.concurrent.ExecutionException:
org.apache.cassandra.streaming.StreamException: Stream failed:
Session peer /172.20.145.155:7000 Failed because of an unknown exception
java.lang.ClassCastException: class
org.apache.cassandra.net.OutboundConnectionInitiator$Result$Incompatible cannot
be cast to class
org.apache.cassandra.net.OutboundConnectionInitiator$Result$Success
(org.apache.cassandra.net.OutboundConnectionInitiator$Result$In
compatible and
org.apache.cassandra.net.OutboundConnectionInitiator$Result$Success are in
unnamed module of loader 'app')
org.apache.cassandra.net.OutboundConnectionInitiator$Result.success(OutboundConnectionInitiator.java:520)
org.apache.cassandra.streaming.async.NettyStreamingConnectionFactory.connect(NettyStreamingConnectionFactory.java:68)
Session peer /172.20.145.29:7000 Failed because of an unknown exception
java.lang.ClassCastException: class
org.apache.cassandra.net.OutboundConnectionInitiator$Result$Incompatible cannot
be cast to class
org.apache.cassandra.net.OutboundConnectionInitiator$Result$Success
(org.apache.cassandra.net.OutboundConnectionInitiator$Result$In
compatible and
org.apache.cassandra.net.OutboundConnectionInitiator$Result$Success are in
unnamed module of loader 'app')
org.apache.cassandra.net.OutboundConnectionInitiator$Result.success(OutboundConnectionInitiator.java:520)
org.apache.cassandra.streaming.async.NettyStreamingConnectionFactory.connect(NettyStreamingConnectionFactory.java:68)
Session peer /172.20.145.207:7000 Failed because of an unknown exception
java.lang.ClassCastException: class
org.apache.cassandra.net.OutboundConnectionInitiator$Result$Incompatible cannot
be cast to class
org.apache.cassandra.net.OutboundConnectionInitiator$Result$Success
(org.apache.cassandra.net.OutboundConnectionInitiator$Result$In
compatible and
org.apache.cassandra.net.OutboundConnectionInitiator$Result$Success are in
unnamed module of loader 'app')
org.apache.cassandra.net.OutboundConnectionInitiator$Result.success(OutboundConnectionInitiator.java:520)
org.apache.cassandra.streaming.async.NettyStreamingConnectionFactory.connect(NettyStreamingConnectionFactory.java:68)
Session peer /172.20.145.209:7000 Failed because of an unknown exception
java.lang.ClassCastException: class
org.apache.cassandra.net.OutboundConnectionInitiator$Result$Incompatible cannot
be cast to class
org.apache.cassandra.net.OutboundConnectionInitiator$Result$Success
(org.apache.cassandra.net.OutboundConnectionInitiator$Result$In
compatible and
org.apache.cassandra.net.OutboundConnectionInitiator$Result$Success are in
unnamed module of loader 'app')
org.apache.cassandra.net.OutboundConnectionInitiator$Result.success(OutboundConnectionInitiator.java:520)
org.apache.cassandra.streaming.async.NettyStreamingConnectionFactory.connect(NettyStreamingConnectionFactory.java:68)
at
org.apache.cassandra.utils.concurrent.AbstractFuture.getWhenDone(AbstractFuture.java:239)
at
org.apache.cassandra.utils.concurrent.AbstractFuture.get(AbstractFuture.java:246)
at
org.apache.cassandra.service.StorageService.bootstrap(StorageService.java:2209)
at
org.apache.cassandra.service.StorageService.joinTokenRing(StorageService.java:1292)
at
org.apache.cassandra.service.StorageService.joinTokenRing(StorageService.java:1252)
at
org.apache.cassandra.service.StorageService.initServer(StorageService.java:1031)
at
org.apache.cassandra.service.StorageService.initServer(StorageService.java:947)
at
org.apache.cassandra.service.CassandraDaemon.setup(CassandraDaemon.java:383)
at
org.apache.cassandra.service.CassandraDaemon.activate(CassandraDaemon.java:727)
at
org.apache.cassandra.service.CassandraDaemon.main(CassandraDaemon.java:865)
Caused by: org.apache.cassandra.streaming.StreamException: Stream failed:
Session peer /172.20.145.155:7000 Failed because of an unknown exception
java.lang.ClassCastException: class
org.apache.cassandra.net.OutboundConnectionInitiator$Result$Incompatible cannot
be cast to class
org.apache.cassandra.net.OutboundConnectionInitiator$Result$Success
(org.apache.cassandra.net.OutboundConnectionInitiator$Result$In
compatible and
org.apache.cassandra.net.OutboundConnectionInitiator$Result$Success are in
unnamed module of loader 'app')
org.apache.cassandra.net.OutboundConnectionInitiator$Result.success(OutboundConnectionInitiator.java:520)
org.apache.cassandra.streaming.async.NettyStreamingConnectionFactory.connect(NettyStreamingConnectionFactory.java:68)
Session peer /172.20.145.29:7000 Failed because of an unknown exception
java.lang.ClassCastException: class
org.apache.cassandra.net.OutboundConnectionInitiator$Result$Incompatible cannot
be cast to class
org.apache.cassandra.net.OutboundConnectionInitiator$Result$Success
(org.apache.cassandra.net.OutboundConnectionInitiator$Result$In
compatible and
org.apache.cassandra.net.OutboundConnectionInitiator$Result$Success are in
unnamed module of loader 'app')
org.apache.cassandra.net.OutboundConnectionInitiator$Result.success(OutboundConnectionInitiator.java:520)
org.apache.cassandra.streaming.async.NettyStreamingConnectionFactory.connect(NettyStreamingConnectionFactory.java:68)
Session peer /172.20.145.207:7000 Failed because of an unknown exception
java.lang.ClassCastException: class
org.apache.cassandra.net.OutboundConnectionInitiator$Result$Incompatible cannot
be cast to class
org.apache.cassandra.net.OutboundConnectionInitiator$Result$Success
(org.apache.cassandra.net.OutboundConnectionInitiator$Result$In
compatible and
org.apache.cassandra.net.OutboundConnectionInitiator$Result$Success are in
unnamed module of loader 'app')
org.apache.cassandra.net.OutboundConnectionInitiator$Result.success(OutboundConnectionInitiator.java:520)
org.apache.cassandra.streaming.async.NettyStreamingConnectionFactory.connect(NettyStreamingConnectionFactory.java:68)
Session peer /172.20.145.209:7000 Failed because of an unknown exception
java.lang.ClassCastException: class
org.apache.cassandra.net.OutboundConnectionInitiator$Result$Incompatible cannot
be cast to class
org.apache.cassandra.net.OutboundConnectionInitiator$Result$Success
(org.apache.cassandra.net.OutboundConnectionInitiator$Result$In
compatible and
org.apache.cassandra.net.OutboundConnectionInitiator$Result$Success are in
unnamed module of loader 'app')
org.apache.cassandra.net.OutboundConnectionInitiator$Result.success(OutboundConnectionInitiator.java:520)
org.apache.cassandra.streaming.async.NettyStreamingConnectionFactory.connect(NettyStreamingConnectionFactory.java:68)
at
org.apache.cassandra.streaming.StreamResultFuture.maybeComplete(StreamResultFuture.java:251)
at
org.apache.cassandra.streaming.StreamResultFuture.handleSessionComplete(StreamResultFuture.java:205)
at
org.apache.cassandra.streaming.StreamSession.lambda$closeSession$2(StreamSession.java:552)
at
org.apache.cassandra.concurrent.FutureTask$2.call(FutureTask.java:124)
at org.apache.cassandra.concurrent.FutureTask.call(FutureTask.java:61)
at org.apache.cassandra.concurrent.FutureTask.run(FutureTask.java:71)
at
java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539)
at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
at
java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:304)
at
java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
at
java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
at
io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
at java.base/java.lang.Thread.run(Thread.java:840)
INFO [main] 2025-05-08 13:23:26,149 StorageService.java:2042 - JOINING_FAILED
WARN [main] 2025-05-08 13:23:26,180 StorageService.java:1328 - Some data
streaming failed. Use nodetool to check bootstrap state an
d resume. For more, see `nodetool help bootstrap`. IN_PROGRESS
INFO [main] 2025-05-08 13:23:26,189 Gossiper.java:2449 - Waiting for gossip to
settle...
INFO [main] 2025-05-08 13:23:34,190 Gossiper.java:2480 - No gossip backlog;
proceeding
Any clue what’s going wrong here? The part with
org.apache.cassandra.net.OutboundConnectionInitiator$Result$Success are in
unnamed module of loader ‘app’ looks very strange.