You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by "ZhaoYang (Jira)" <ji...@apache.org> on 2020/06/10 10:17:00 UTC

[jira] [Created] (CASSANDRA-15869) MemoryOutputStream overflow on large bloom filter

ZhaoYang created CASSANDRA-15869:
------------------------------------

             Summary: MemoryOutputStream overflow on large bloom filter
                 Key: CASSANDRA-15869
                 URL: https://issues.apache.org/jira/browse/CASSANDRA-15869
             Project: Cassandra
          Issue Type: Bug
          Components: Local/SSTable
            Reporter: ZhaoYang
            Assignee: ZhaoYang


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.

{code:title=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)
{code}



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@cassandra.apache.org
For additional commands, e-mail: commits-help@cassandra.apache.org