apache / apache/activemq

Modernize ActiveMQMessageAudit to be lock-free

Open
#2,187 1 comment 0 reactions 1 assignee Claimed by @mattrpav View on GitHub
Stale
Dominant language
Java
Stars
2.5k
Forks
1.5k
Avg merge
10h 46m
Merged PRs (30d)
79

Description

The current ActiveMQMessageAudit is implemented using synchronized blocks around an LRUCache implemented with a LinkedHashMap as an extension to the sync-free ActiveMQMessageAuditNoSync class.

Modern Java language collection (ConcurrentHashMap) and lock-free programming approach can improve performance (especially when there are concurrent producers). Both classes can be replaced with a single, modern implementation.

A modernized MessageAudit:

- [ ] Provide exact same functional capabilities as current ActiveMQMessageAudit/ActiveMQMessageAuditNoSync
- [ ] Allow for shrinking/growing the audit size without completely clearing the list

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.