Uploaded image for project: 'Cassandra'
  1. Cassandra
  2. CASSANDRA-2975

Upgrade MurmurHash to version 3

    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Resolved
    • Low
    • Resolution: Fixed
    • 1.2.0 beta 1
    • None

    Description

      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.

      Attachments

        1. 0001-Convert-BloomFilter-to-use-MurmurHash-v3-instead-of-.patch
          5 kB
          Brian Lindauer
        2. 0002-Backwards-compatibility-with-files-using-Murmur2-blo.patch
          28 kB
          Brian Lindauer
        3. Murmur3Benchmark.java
          8 kB
          David Allsopp
        4. 0001-CASSANDRA-2975.patch
          48 kB
          Vijay
        5. 0001-CASSANDRA-2975-v2.patch
          51 kB
          Vijay
        6. CASSANDRA-2975-v2-additions.patch
          1 kB
          Pavel Yaskevich

        Issue Links

          Activity

            People

              vijay2win@yahoo.com Vijay
              lindauer Brian Lindauer
              Vijay
              Pavel Yaskevich
              Votes:
              2 Vote for this issue
              Watchers:
              6 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: