Details
-
Bug
-
Status: Open
-
Normal
-
Resolution: Unresolved
-
None
-
None
-
Correctness - Recoverable Corruption / Loss
-
Normal
-
Normal
-
Adhoc Test
-
All
-
None
Description
This is another face of the problem reported in CASSANDRA-18589, but this problem may happen regardless of whether the dropped column is complex.
When writing data in parallel with dropping a column, the subsequent reads may fail with AssertionError: until the affected sstable is compacted.
ERROR [node1_isolatedExecutor:3] node1 2023-06-12 15:45:28,058 Exception in thread Thread[node1_ReadStage-2,10,SharedPool]
java.lang.RuntimeException: java.lang.AssertionError: Caught an error while trying to process the command: SELECT * FROM ks.tab LIMIT 500
0 ALLOW FILTERING
at org.apache.cassandra.net.InboundSink.accept(InboundSink.java:108)
at org.apache.cassandra.net.InboundSink.accept(InboundSink.java:45)
at org.apache.cassandra.net.InboundMessageHandler$ProcessMessage.run(InboundMessageHandler.java:430)
at org.apache.cassandra.concurrent.ExecutionFailure$1.run(ExecutionFailure.java:133)
at org.apache.cassandra.concurrent.SEPWorker.run(SEPWorker.java:143)
at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
at java.base/java.lang.Thread.run(Thread.java:829)
Caused by: java.lang.AssertionError: Caught an error while trying to process the command: SELECT * FROM ks.tab LIMIT 5000 ALLOW FILTERING
at org.apache.cassandra.db.ReadCommandVerbHandler.doVerb(ReadCommandVerbHandler.java:83)
at org.apache.cassandra.net.InboundSink.lambda$new$0(InboundSink.java:78)
at org.apache.cassandra.net.InboundSink$Filtered.accept(InboundSink.java:64)
at org.apache.cassandra.net.InboundSink$Filtered.accept(InboundSink.java:50)
at org.apache.cassandra.net.InboundSink.accept(InboundSink.java:97)
... 6 common frames omitted
Caused by: java.lang.AssertionError: v
at org.apache.cassandra.db.rows.UnfilteredSerializer.lambda$serializeRowBody$0(UnfilteredSerializer.java:255)
at org.apache.cassandra.utils.btree.BTree.applyValue(BTree.java:1762)
at org.apache.cassandra.utils.btree.BTree.applyLeaf(BTree.java:1770)
at org.apache.cassandra.utils.btree.BTree.apply(BTree.java:1785)
at org.apache.cassandra.utils.btree.BTree.apply(BTree.java:1811)
at org.apache.cassandra.db.rows.BTreeRow.apply(BTreeRow.java:203)
at org.apache.cassandra.db.rows.UnfilteredSerializer.serializeRowBody(UnfilteredSerializer.java:246)
at org.apache.cassandra.db.rows.UnfilteredSerializer.serialize(UnfilteredSerializer.java:212)
at org.apache.cassandra.db.rows.UnfilteredSerializer.serialize(UnfilteredSerializer.java:141)
at org.apache.cassandra.db.rows.UnfilteredSerializer.serialize(UnfilteredSerializer.java:129)
at org.apache.cassandra.db.rows.UnfilteredRowIteratorSerializer.serialize(UnfilteredRowIteratorSerializer.java:153)
at org.apache.cassandra.db.rows.UnfilteredRowIteratorSerializer.serialize(UnfilteredRowIteratorSerializer.java:102)
at org.apache.cassandra.db.rows.UnfilteredRowIteratorSerializer.serialize(UnfilteredRowIteratorSerializer.java:87)
at org.apache.cassandra.db.partitions.UnfilteredPartitionIterators$Serializer.serialize(UnfilteredPartitionIterators.java:308)
at org.apache.cassandra.db.ReadResponse$LocalDataResponse.build(ReadResponse.java:201)
at org.apache.cassandra.db.ReadResponse$LocalDataResponse.<init>(ReadResponse.java:186)
at org.apache.cassandra.db.ReadResponse.createDataResponse(ReadResponse.java:48)
at org.apache.cassandra.db.ReadCommand.createResponse(ReadCommand.java:338)
at org.apache.cassandra.db.ReadCommandVerbHandler.doVerb(ReadCommandVerbHandler.java:64)
... 10 common frames omitted
It is likely that the intended fix of CASSANDRA-18589 will make this issue go away.
For now, I'm reporting two different tickets to not mix two discussions together, should they happen.