[infinispan-dev] MurmurHash fixes

Manik Surtani manik at jboss.org
Thu Jan 13 14:35:44 EST 2011


Guys,

The MurmurHash2 impl we have in 4.2.0 is buggy in that my translation from the original C source was faulty and it effectively hashes over just 31 bits instead of 32.  It means the distribution result isn't as good as it could be.

Now it isn't that easy for me to just *fix* this in 4.2.1, since it means keys mapped to nodes using 4.2.0 may not map to the same node in 4.2.1.

So here is what I propose:

1) Fix it in 4.2.x as MurmurHash2A
2) Use MurmurHash2A by default, *unless* a config flag is provided that forces the use of MurmurHash2.  (e.g., <hash function="MurmurHash2">)

This will even give us the ability to use MurmurHash3 in 5.0 when we have it.

WDYT?

Cheers
Manik
--
Manik Surtani
manik at jboss.org
twitter.com/maniksurtani

Lead, Infinispan
http://www.infinispan.org






More information about the infinispan-dev mailing list