[ https://issues.apache.org/jira/browse/CASSANDRA-13291?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16210977#comment-16210977 ]
Jason Brown edited comment on CASSANDRA-13291 at 10/19/17 1:01 PM: ------------------------------------------------------------------- Let's leave CASSANDRA-13964 out of this patch as that one needs to go into 3.0 and 3.11, whereas this patch does not. That ticket addresses a separate issue (though related in the code base), includes a dtest, and we can follow the history of that patch across of branches more easily if we keep keep them separate. - For now, leave {{RandomPartitioner}} call {{MD5Digest#threadLocalMD5Digest}}, and let [~beobal]'s CASSANDRA-13964 correct that. - Just noticed this, but switch use of {{ThreadLocal}} to netty's {{FastThreadLocal}}. We've made that replacement in most other places in the code base as of CASSANDRA-13034. -If [~mkjellman] and [~beobal] are OK with those two changes, I'll just fix those on commit as I'm +1 on the rest of the code.- UPDATE: just now saw [~beobal]'s last comment, digesting now Kicked off another round of tests ||13291|| |[branch|https://github.com/jasobrown/cassandra/tree/13291]| |[dtest|https://builds.apache.org/view/A-D/view/Cassandra/job/Cassandra-devbranch-dtest/384/]| |[utests|https://circleci.com/gh/jasobrown/cassandra/tree/13291]| was (Author: jasobrown): Let's leave CASSANDRA-13964 out of this patch as that one needs to go into 3.0 and 3.11, whereas this patch does not. That ticket addresses a separate issue (though related in the code base), includes a dtest, and we can follow the history of that patch across of branches more easily if we keep keep them separate. - For now, leave {{RandomPartitioner}} call {{MD5Digest#threadLocalMD5Digest}}, and let [~beobal]'s CASSANDRA-13964 correct that. - Just noticed this, but switch use of {{ThreadLocal}} to netty's {{FastThreadLocal}}. We've made that replacement in most other places in the code base as of CASSANDRA-13034. If [~mkjellman] and [~beobal] are OK with those two changes, I'll just fix those on commit as I'm +1 on the rest of the code. Kicked off another round of tests ||13291|| |[branch|https://github.com/jasobrown/cassandra/tree/13291]| |[dtest|https://builds.apache.org/view/A-D/view/Cassandra/job/Cassandra-devbranch-dtest/384/]| |[utests|https://circleci.com/gh/jasobrown/cassandra/tree/13291]| > 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.4.14#64029) --------------------------------------------------------------------- To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org