You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by "Michael Kjellman (JIRA)" <ji...@apache.org> on 2017/03/02 22:22:45 UTC

[jira] [Commented] (CASSANDRA-13291) Replace usages of MessageDigest with Guava's Hasher

    [ https://issues.apache.org/jira/browse/CASSANDRA-13291?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15893149#comment-15893149 ] 

Michael Kjellman commented on CASSANDRA-13291:
----------------------------------------------

Created CASSANDRA-13292 to track the actual switching from MD5 -> something else pending on this ticket.

> Replace usages of MessageDigest with Guava's Hasher
> ---------------------------------------------------
>
>                 Key: CASSANDRA-13291
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-13291
>             Project: Cassandra
>          Issue Type: Improvement
>          Components: Core
>            Reporter: Michael Kjellman
>            Assignee: Michael Kjellman
>         Attachments: CASSANDRA-13291-trunk.diff
>
>
> During my profiling of C* I frequently see lots of aggregate time across threads being spent inside the MD5 MessageDigest implementation. Given that there are tons of modern alternative hashing functions better than MD5 available -- both in terms of providing better collision resistance and actual computational speed -- I wanted to switch out our usage of MD5 for alternatives (like adler128 or murmur3_128) and test for performance improvements.
> Unfortunately, I found given the fact we use MessageDigest everywhere --  switching out the hashing function to something like adler128 or murmur3_128 (for example) -- which don't ship with the JDK --  wasn't straight forward.
> The goal of this ticket is to propose switching out usages of MessageDigest directly in favor of Hasher from Guava. This means going forward we can change a single line of code to switch the hashing algorithm being used (assuming there is an implementation in Guava).



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)