You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by "T Jake Luciani (JIRA)" <ji...@apache.org> on 2010/11/24 22:40:15 UTC

[jira] Commented: (CASSANDRA-1555) Considerations for larger bloom filters

    [ https://issues.apache.org/jira/browse/CASSANDRA-1555?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12935509#action_12935509 ] 

T Jake Luciani commented on CASSANDRA-1555:
-------------------------------------------

I'm not confident the murmur hash changes will produce unique enough numbers given you are xor'ing 32bits into 64bits

I think we should update this to the 64 bit version: http://d3s.mff.cuni.cz/~holub/sw/javamurmurhash/MurmurHash.java

Problem is then we break the BitSet backwards compatibility...

> 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
>
>
> 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.