Loyal-Young opened a new issue, #11264:
URL: https://github.com/apache/rocketmq/issues/11264

   ### Before Creating the Bug Report
   
   - [x] I inspected the current develop code and searched related issues/open 
pull requests.
   
   ### Summary
   
   ConsistentHashRouter's default hash function shares one mutable 
MessageDigest across routeNode callers. Concurrent routing on an otherwise 
immutable ring can return different nodes for the same key or throw inside the 
digest implementation.
   
   ### Steps to Reproduce
   
   Route a stable key from eight callers against a fixed ring and compare every 
result with the sequential result.
   
   ### Expected Behavior
   
   Synchronize the default hash operation. This does not add concurrent 
add/remove support or change the hash algorithm or ring layout.
   
   ### Environment / Additional Context
   
   - Reproduced against develop commit 
`78b96bc5e21216cd7896efae08f90c5cde4cae53`.
   - Regression test: `ConsistentHashRouterConcurrencyTest`.
   - The regression fails before the fix and passes afterward on JDK 8.
   - Proposed change is limited to the existing implementation; no protocol or 
new API is introduced.
   
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to