Details
-
Improvement
-
Status: Resolved
-
Normal
-
Resolution: Fixed
-
None
-
None
Description
To (optimally) support SSTables larger than 143 million keys, we need to support bloom filters larger than 2^31 bits, which java.util.BitSet can't handle directly.
A few options:
- Switch to a BitSet class which supports 2^31 * 64 bits (Lucene's OpenBitSet)
- Partition the java.util.BitSet behind our current BloomFilter
- Straightforward bit partitioning: bit N is in bitset N // 2^31
- Separate equally sized complete bloom filters for member ranges, which can be used independently or OR'd together under memory pressure.
All of these options require new approaches to serialization.
Attachments
Attachments
Issue Links
- is related to
-
CASSANDRA-4303 Compressed bloomfilters
- Resolved
- relates to
-
CASSANDRA-790 SSTables limited to (2^31)/15 keys
- Resolved