[ https://issues.apache.org/jira/browse/AMQ-7013?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16547978#comment-16547978 ]
Jamie goodyear commented on AMQ-7013: ------------------------------------- Please see PR'd unit test: [https://github.com/apache/activemq/pull/288] The hash function was bad, returning 131077. After discussing with Chrino on apache-activemq IRC room, decided to try JenkinsHash to perform hash generation. Now we get unique hashes in this scenario. > XATransactionID hash function may generate duplicates. > ------------------------------------------------------ > > Key: AMQ-7013 > URL: https://issues.apache.org/jira/browse/AMQ-7013 > Project: ActiveMQ > Issue Type: Bug > Reporter: Jamie goodyear > Priority: Major > > XATransactionID hash function may generate duplicates. > Scenario: > XID formatId, GlobalTransaction, and BranchQualifier values are identical for > many entries. We need to use a better hash function to avoid populating a map > with many entries in the same bucket (results in bucket having O(n) > performance on recovery). > Example using existing Hash Function: > 2018-07-18 06:13:29,866 | INFO | Recovering from the journal @1:28 | > org.apache.activemq.store.kahadb.MessageDatabase | main > 2018-07-18 06:23:04,070 | INFO | @2:484592, 100000 entries recovered .. | > org.apache.activemq.store.kahadb.MessageDatabase | main > 2018-07-18 06:23:04,099 | INFO | Recovery replayed 100453 operations from > the journal in 574.233 seconds. | > org.apache.activemq.store.kahadb.MessageDatabase | main > Using JenkinsHash: > 2018-07-18 10:58:43,713 | INFO | Recovering from the journal @1:28 | > org.apache.activemq.store.kahadb.MessageDatabase | main > 2018-07-18 10:58:51,302 | INFO | @2:484592, 100000 entries recovered .. | > org.apache.activemq.store.kahadb.MessageDatabase | main > 2018-07-18 10:58:51,329 | INFO | Recovery replayed 100453 operations from > the journal in 7.618 seconds. | > org.apache.activemq.store.kahadb.MessageDatabase | main -- This message was sent by Atlassian JIRA (v7.6.3#76005)