You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I have confirmed that this should be classified as an enhancement rather than a bug/feature.
Summary
There may be certain issues with the org.apache.rocketmq.proxy.service.route.MessageQueueSelector when selecting write queue by filters.
The intention of #selectOneMessageQueue is traversing each candidate queue until find eligible one, but this index can be increased concurrently by multiple threads. Therefore, in one traversal, some queues may be accessed more than one time, while some others may not be accessed.
The #transferQueue2Addressable doesn't traverse brokerActingQueues. So if select by onlyBroker=true, the transferred result is always null.
Motivation
Make proxy MessageQueueSelector work as expected.
Describe the Solution You'd Like
Add new MessageQueueReadSelector to extend MessageQueueSelector, using ThreadLocalIndex as write selector index.
Remove unnecessary transferring between MessageQueue and AddressableMessageQueue.
Describe Alternatives You've Considered
/
Additional Context
No response
The text was updated successfully, but these errors were encountered:
Before Creating the Enhancement Request
Summary
There may be certain issues with the org.apache.rocketmq.proxy.service.route.MessageQueueSelector when selecting write queue by filters.
Motivation
Make proxy MessageQueueSelector work as expected.
Describe the Solution You'd Like
Add new MessageQueueReadSelector to extend MessageQueueSelector, using ThreadLocalIndex as write selector index.
Remove unnecessary transferring between MessageQueue and AddressableMessageQueue.
Describe Alternatives You've Considered
/
Additional Context
No response
The text was updated successfully, but these errors were encountered: