[ 
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)

Reply via email to