twitter/algebird — pull request #19 by singhala (2012-08-26 18:24:12+00:00)
Title: removed message digest field in HyperLogLog

I was getting spurious test failures (NullPointerExceptions) on the calls to "digest". Took a look at the API and I think you're actually supposed to call "reset" after updating the digest with any data (http://docs.oracle.com/javase/6/docs/api/java/security/MessageDigest.html). Also, apparently digest/update calls to MessageDigest aren't thread-safe, so I think it's fine if we create the instance inside the hash method to avoid those problems. People can always write their own versions of the method if that's not performant enough for them.