[ https://issues.apache.org/jira/browse/CASSANDRA-1555?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12967060#action_12967060 ]
Stu Hood commented on CASSANDRA-1555: ------------------------------------- * If BloomFilter is likely to be deprecated in favor of BigBloomFilter, naming them LegacyBloomFilter and BloomFilter might reduce the surface area of future changes * Probably a good opportunity to improve the serialization of BigBloomFilter: Java serialization is very wasteful for space (each row would contain the string "org.apache.cassandra.utils.obs.OpenBitSet"). Instead, just serializing an OpenBitSet as a {{long[]}} and # of valid bits would be much better * (Big)BloomFilter * maxBucketsPerElement can be pushed up into Filter * getFilter could probably be pushed up to filter, or at least removed from BloomFilter * emptyBuckets is unused * Orphaned method BigBloomFilter.serializeBitSet * Indentation is off in SSTableReader and BigBloomFilter I'm working on a separate issue to refresh LegacySSTableTest to check the column-level bloom filters as well: see CASSANDRA-1822 > Considerations for larger bloom filters > --------------------------------------- > > Key: CASSANDRA-1555 > URL: https://issues.apache.org/jira/browse/CASSANDRA-1555 > Project: Cassandra > Issue Type: Improvement > Components: Core > Reporter: Stu Hood > Assignee: Ryan King > Fix For: 0.8 > > Attachments: cassandra-1555.tgz, CASSANDRA-1555v2.patch > > > 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. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.