Details
-
Improvement
-
Status: Open
-
Minor
-
Resolution: Unresolved
-
5.x
-
None
-
None
-
Patch
Description
The MirrorQueue implementation currently sends the original message to the mirror topic and a copy (if copy flag is set to true) of the message to the requested destination.
Also, the MemoryUsage on the message which is sent to the requested destination is set to null but the comment in the line notes that it´s done so the memory size is used from the queue instead of the topic which isn´t the case; its vise versa. (At least in my opinion)
Another possible bug in my opinion is, that the MemoryUsage is set to null even if the copy flag is false; so the same message is sent to the mirror and destination but the MemoryUsage is set to null. This could lead to a false calculation of the broker storage.
If there are further plugins configured, than these plugins see the original message in e.g. the send method. But this message isn´t the message which will be sent to the defined destination but the message which is sent to the mirror.
I´d suggest to reverse the logic of the MirrorQueue so that a copy of the message is sent to the mirror topic and the original message to the requested destination (and also the MemoryUsage of this copy is set to null - and only if it´s a copy!)
A patch is attached to this issue which would cover the changes.