[infinispan-dev] MurmurHash fixes
Manik Surtani
manik at jboss.org
Fri Jan 14 06:40:11 EST 2011
Well, even with a 4.3 we'd still need to provide some form of backward compat.
The last, and most expensive, approach is to use the fixed function, and if a request doesn't find anything, retry with the old function (!)
On 14 Jan 2011, at 08:36, Emmanuel Bernard wrote:
> Or release a 4.3.
>
> On 14 janv. 2011, at 09:32, Bela Ban wrote:
>
>> I would fix the existing MurmurHash; IMO backward compat doesn't extend
>> to consistent hashing...
>>
>> Does leaving the 1 bit out create extreme anomalies wrt hashing
>> distribution ? I wouldn't think so...
>>
>> I'm fine with the other solution, too.
>>
>>
>>
>> On 1/13/11 8:35 PM, Manik Surtani wrote:
>>> 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?
>>
>>
>> --
>> Bela Ban
>> Lead JGroups / Clustering Team
>> JBoss
>> _______________________________________________
>> infinispan-dev mailing list
>> infinispan-dev at lists.jboss.org
>> https://lists.jboss.org/mailman/listinfo/infinispan-dev
>
>
> _______________________________________________
> infinispan-dev mailing list
> infinispan-dev at lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/infinispan-dev
--
Manik Surtani
manik at jboss.org
twitter.com/maniksurtani
Lead, Infinispan
http://www.infinispan.org
More information about the infinispan-dev
mailing list