[
https://issues.jboss.org/browse/JGRP-1542?page=com.atlassian.jira.plugin....
]
Bela Ban commented on JGRP-1542:
--------------------------------
Solution: copy the original message, change the dest to the next dest and add the final
dest and original sender to the message as a header. When received at the final dest, copy
the message again and switch the dest/src to the ones from the header.
This is faster than marshalling, a quick perf test shows an improvement for LON2 -->
SiteMaster(SFO) (via the local SM(LON)) from 49'000 async RPCs/s to 71'000.
RELAY2: preserve messages flags when forwarding / routing /
delivering messages
-------------------------------------------------------------------------------
Key: JGRP-1542
URL:
https://issues.jboss.org/browse/JGRP-1542
Project: JGroups
Issue Type: Enhancement
Reporter: Bela Ban
Assignee: Bela Ban
Priority: Minor
Fix For: 3.2.3, 3.3
When forwarding a message to the local site master, routing a message from the site
master over the bridge to a remote site master and delivering a message received from a
remote site master in the local site, the original message M is marshalled into a byte
buffer and tucked into a new message M'.
However, M' does *not* copy the flags of M. So, for instance, if M was tagged as OOB,
M' won't be OOB, therefore forwarding, routing and delivering locally won't be
done on the OOB thread pool. Only when M' is unpacked, then M will have the original
flags preserved.
SOLUTION:
Copy the flags of the original message into the wrapping message used to forward, route
and deliver the original message.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see:
http://www.atlassian.com/software/jira