<html><head><base href="x-msg://14/"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; ">I don't have a problem with including libraries in principle, but it really needs to be worth it. In this case, there is no point dragging in a whole bunch of Hadoop stuff for a single class implementation of a hash function. :-)<div><br><div><div>On 14 Jan 2011, at 03:20, david marion wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite"><span class="Apple-style-span" style="border-collapse: separate; font-family: Helvetica; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; font-size: medium; "><div class="hmmessage" style="font-size: 10pt; font-family: Tahoma; "><div style="margin-top: 0in; margin-right: 0in; margin-bottom: 0pt; margin-left: 0in; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "><font face="Courier New">Manik,<o:p></o:p></font></div><div style="margin-top: 0in; margin-right: 0in; margin-bottom: 0pt; margin-left: 0in; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "><o:p><font face="Courier New"> </font></o:p></div><div style="margin-top: 0in; margin-right: 0in; margin-bottom: 0pt; margin-left: 0in; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "><font face="Courier New"><span> <span class="Apple-converted-space"> </span></span>Being new here, I'm not totally sure of JBoss' stance on including other libraries. Hadoop has a Murmur2 hash implementation that I have been using at work for a while with no problems. Just a thought.<o:p></o:p></font></div><div style="margin-top: 0in; margin-right: 0in; margin-bottom: 0pt; margin-left: 0in; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "><o:p><font face="Courier New"> </font></o:p></div><div style="margin-top: 0in; margin-right: 0in; margin-bottom: 0pt; margin-left: 0in; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "><font face="Courier New">-- Dave Marion<o:p></o:p></font></div><br> <br>> From:<span class="Apple-converted-space"> </span><a href="mailto:manik@jboss.org">manik@jboss.org</a><br>> Date: Thu, 13 Jan 2011 19:35:44 +0000<br>> To:<span class="Apple-converted-space"> </span><a href="mailto:infinispan-dev@lists.jboss.org">infinispan-dev@lists.jboss.org</a><br>> Subject: [infinispan-dev] MurmurHash fixes<br>><span class="Apple-converted-space"> </span><br>> Guys,<br>><span class="Apple-converted-space"> </span><br>> 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.<br>><span class="Apple-converted-space"> </span><br>> 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.<br>><span class="Apple-converted-space"> </span><br>> So here is what I propose:<br>><span class="Apple-converted-space"> </span><br>> 1) Fix it in 4.2.x as MurmurHash2A<br>> 2) Use MurmurHash2A by default, *unless* a config flag is provided that forces the use of MurmurHash2. (e.g., <hash function="MurmurHash2">)<br>><span class="Apple-converted-space"> </span><br>> This will even give us the ability to use MurmurHash3 in 5.0 when we have it.<br>><span class="Apple-converted-space"> </span><br>> WDYT?<br>><span class="Apple-converted-space"> </span><br>> Cheers<br>> Manik<br>> --<br>> Manik Surtani<br>><span class="Apple-converted-space"> </span><a href="mailto:manik@jboss.org">manik@jboss.org</a><br>><span class="Apple-converted-space"> </span><a href="http://twitter.com/maniksurtani">twitter.com/maniksurtani</a><br>><span class="Apple-converted-space"> </span><br>> Lead, Infinispan<br>><span class="Apple-converted-space"> </span><a href="http://www.infinispan.org">http://www.infinispan.org</a><br>><span class="Apple-converted-space"> </span><br>><span class="Apple-converted-space"> </span><br>><span class="Apple-converted-space"> </span><br>><span class="Apple-converted-space"> </span><br>> _______________________________________________<br>> infinispan-dev mailing list<br>><span class="Apple-converted-space"> </span><a href="mailto:infinispan-dev@lists.jboss.org">infinispan-dev@lists.jboss.org</a><br>><span class="Apple-converted-space"> </span><a href="https://lists.jboss.org/mailman/listinfo/infinispan-dev">https://lists.jboss.org/mailman/listinfo/infinispan-dev</a><br>_______________________________________________<br>infinispan-dev mailing list<br><a href="mailto:infinispan-dev@lists.jboss.org">infinispan-dev@lists.jboss.org</a><br><a href="https://lists.jboss.org/mailman/listinfo/infinispan-dev">https://lists.jboss.org/mailman/listinfo/infinispan-dev</a></div></span></blockquote></div><br><div>
<span class="Apple-style-span" style="border-collapse: separate; color: rgb(0, 0, 0); font-family: Helvetica; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: auto; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; font-size: medium; "><div><div>--</div><div>Manik Surtani</div><div><a href="mailto:manik@jboss.org">manik@jboss.org</a></div><div><a href="http://twitter.com/maniksurtani">twitter.com/maniksurtani</a></div><div><br></div><div>Lead, Infinispan</div><div><a href="http://www.infinispan.org">http://www.infinispan.org</a></div><div><br></div></div></span><br class="Apple-interchange-newline">
</div>
<br></div></body></html>