-
Type:
Bug
-
Status: Resolved
-
Priority:
Normal
-
Resolution: Fixed
-
Component/s: Local/SSTable
-
Labels:None
-
Bug Category:Correctness - Recoverable Corruption / Loss
-
Severity:Normal
-
Complexity:Normal
-
Discovered By:Performance Regression Test
-
Platform:All
-
Impacts:None
-
Since Version:
-
Source Control Link:
-
Test and Documentation Plan:
Since CASSANDRA-9067, Cassandra will use MemoryOutputStream to reconstruct BF Memory without re-ordering bytes, see OffsetBitSet#deserialize. But MemoryOutputStream use INT to track position and will overflow when BF size exceeds 2GB.
stacktrace
error: Illegal bounds [-2147483648..-2147483584); size: 4588588016 -- StackTrace -- java.lang.AssertionError: Illegal bounds [-2147483648..-2147483584); size: 4588588016 at org.apache.cassandra.io.util.Memory.checkBounds(Memory.java:185) at org.apache.cassandra.io.util.Memory.setBytes(Memory.java:138) at org.apache.cassandra.io.util.MemoryOutputStream.write(MemoryOutputStream.java:45)
- is related to
-
CASSANDRA-9067 BloomFilter serialization format should not change byte ordering
-
- Resolved
-