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/11 05:07:00 UTC
[jira] [Comment Edited] (CASSANDRA-15869) MemoryOutputStream
overflow on large bloom filter
[ https://issues.apache.org/jira/browse/CASSANDRA-15869?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17130671#comment-17130671 ]
ZhaoYang edited comment on CASSANDRA-15869 at 6/11/20, 5:06 AM:
----------------------------------------------------------------
btw, this is failing for 500GB sstable during internal stress testing...
was (Author: jasonstack):
btw, this is failing for 500GB sstable...
> 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 (eg. 500gb sstable).
> {code:java|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