[ https://issues.apache.org/jira/browse/CASSANDRA-15946?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Jordan West updated CASSANDRA-15946: ------------------------------------ Fix Version/s: 4.0-beta2 Since Version: 4.0-alpha1 Source Control Link: https://github.com/apache/cassandra/commit/14d1e3eb91189e1684583918305116061eba6413 Resolution: Fixed Status: Resolved (was: Ready to Commit) Tests passed. Committed to trunk as https://github.com/apache/cassandra/commit/14d1e3eb91189e1684583918305116061eba6413 > NPE when sending REQUEST_RSP from 3.0 to 4.0 in in-jvm dtests > ------------------------------------------------------------- > > Key: CASSANDRA-15946 > URL: https://issues.apache.org/jira/browse/CASSANDRA-15946 > Project: Cassandra > Issue Type: Bug > Components: Test/dtest > Reporter: Jacek Lewandowski > Assignee: Jacek Lewandowski > Priority: Normal > Fix For: 4.0-beta2 > > > There is a communication problem when testing upgrades using in-JVM dtest > between Cassandra 3 and 4. > In a method {{registerInboundFilter}} of {{Instance}}, we get a message which > was just received and we prepare it for filtering as part of which, we > serialize the payload again. This is fine when dealing with incoming > Cassandra 4 message, because we can serialize it. However when we get the > Cassandra 3 message, which uses a different protocol, and we get something > like {{REQUEST_RSP}}, we can surely deserialize it through some special > deserialization path, but we cannot serialize the payload for it as there is > no serializer defined for {{REQUEST_RSP}} - no wonder, why would Cassandra > 4.0 need to be able to serialize Cassandra 3.0 payloads? > {code} > java.lang.NullPointerException: null > at > org.apache.cassandra.net.Message$Serializer.serializePost40(Message.java:760) > at > org.apache.cassandra.net.Message$Serializer.serialize(Message.java:618) > at > org.apache.cassandra.distributed.impl.Instance.serializeMessage(Instance.java:267) > at > org.apache.cassandra.distributed.impl.Instance.lambda$registerInboundFilter$4(Instance.java:234) > at > org.apache.cassandra.net.InboundSink$Filtered.accept(InboundSink.java:62) > at > org.apache.cassandra.net.InboundSink$Filtered.accept(InboundSink.java:49) > at org.apache.cassandra.net.InboundSink.accept(InboundSink.java:93) > at > org.apache.cassandra.distributed.impl.Instance.lambda$null$6(Instance.java:305) > at > java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) > at > org.apache.cassandra.concurrent.AbstractLocalAwareExecutorService$FutureTask.run(AbstractLocalAwareExecutorService.java:165) > at > org.apache.cassandra.concurrent.AbstractLocalAwareExecutorService$LocalSessionFutureTask.run(AbstractLocalAwareExecutorService.java:137) > at org.apache.cassandra.concurrent.SEPWorker.run(SEPWorker.java:119) > at > io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) > at java.lang.Thread.run(Thread.java:748) > {code} -- This message was sent by Atlassian Jira (v8.3.4#803005) --------------------------------------------------------------------- To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org