You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by "Stu Hood (JIRA)" <ji...@apache.org> on 2011/09/16 20:50:15 UTC
[jira] [Commented] (CASSANDRA-2975) Upgrade MurmurHash to version 3
[ https://issues.apache.org/jira/browse/CASSANDRA-2975?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13106693#comment-13106693 ]
Stu Hood commented on CASSANDRA-2975:
-------------------------------------
* sstable.Descriptor
** Add a description for the version 'i' bump
** Could you rename "usesOldBloomFilter" to "uses32BitBloomFilter"? I know you didn't add it, but with 3 filter-related bools, it's time to get more descriptive
* sstable.IndexHelper
** Rather than 2 booleans being passed to defreezeBloomFilter, maybe just pass the Descriptor
* sstable.SSTableReader
** In .loadBloomFilter(), could the .uses*BloomFilter checks move into a factory function on one of the bloom filter classes, or in a deserializer?
Other than those nits, this looks great: thanks Brian!
(the committer for this patch should probably generate a new legacy-sstables entry for version 'h': see LegacySSTableTest)
> Upgrade MurmurHash to version 3
> -------------------------------
>
> Key: CASSANDRA-2975
> URL: https://issues.apache.org/jira/browse/CASSANDRA-2975
> Project: Cassandra
> Issue Type: Improvement
> Components: Core
> Reporter: Brian Lindauer
> Assignee: Brian Lindauer
> Priority: Trivial
> Labels: lhf
> Fix For: 1.1
>
> Attachments: 0001-Convert-BloomFilter-to-use-MurmurHash-v3-instead-of-.patch, 0002-Backwards-compatibility-with-files-using-Murmur2-blo.patch
>
>
> MurmurHash version 3 was finalized on June 3. It provides an enormous speedup and increased robustness over version 2, which is implemented in Cassandra. Information here:
> http://code.google.com/p/smhasher/
> The reference implementation is here:
> http://code.google.com/p/smhasher/source/browse/trunk/MurmurHash3.cpp?spec=svn136&r=136
> I have already done the work to port the (public domain) reference implementation to Java in the MurmurHash class and updated the BloomFilter class to use the new implementation:
> https://github.com/lindauer/cassandra/commit/cea6068a4a3e5d7d9509335394f9ef3350d37e93
> Apart from the faster hash time, the new version only requires one call to hash() rather than 2, since it returns 128 bits of hash instead of 64.
--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira