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:18:00 UTC
[jira] [Updated] (CASSANDRA-15869) MemoryOutputStream overflow on
large bloom filter
[ https://issues.apache.org/jira/browse/CASSANDRA-15869?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
ZhaoYang updated CASSANDRA-15869:
---------------------------------
Bug Category: Parent values: Correctness(12982)Level 1 values: Recoverable Corruption / Loss(12986)
Complexity: Normal
Discovered By: Performance Regression Test
Fix Version/s: 4.0-beta
Severity: Normal
Status: Open (was: Triage Needed)
> 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
> Priority: Normal
> Fix For: 4.0-beta
>
>
> 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