[
https://issues.jboss.org/browse/JGRP-1528?page=com.atlassian.jira.plugin....
]
Bela Ban commented on JGRP-1528:
--------------------------------
Messages will be queued per destination (remote site) only when a site's status is
UNKNOWN. This happens when a site was UP and then the bridge received a view change which
removed that site. This means the status goes from UP to UNKNOWN. After some time
(site_down_timeout), the site is marked as DOWN, and then the senders of all queued
messages get a SITE-UNREACHABLE message, plus new messages will be discarded and we send
back a SITE-UNREACHABLE message immediately. Should the UNKOWN state transition to UP
again, then the queued messages are resent. This happens for example when the site master
of the remote site left and a new site master took over.
Note that messages sent concurrently with the sending of queued messages are not ordered
FIFO (as in FORWARD_TO_COORD or SEQUENCER).
RELAY2: batch messages forwarded to remote sites
------------------------------------------------
Key: JGRP-1528
URL:
https://issues.jboss.org/browse/JGRP-1528
Project: JGroups
Issue Type: Feature Request
Reporter: Bela Ban
Assignee: Bela Ban
Fix For: 3.3
If a site is down, then forwarding a message to it will block the thread (actually: wait)
for max_forward_attempts * forward_sleep milliseconds.
If we have many incoming messages (from the local site) to be forwarded to the remote
site, then having every thread sleep for (say) 10 seconds will increase the thread pool.
We should therefore add *batching* to RELAY2; messages to be forwarded are queued until a
certain time has elapsed or the accumulated total size of all queued messages exceeds a
certain threshold.
Incoming messages to be forwarded would be added to the queue (allowing the sending
thread to be returned to the thread pool). A separate thread (or task) would monitor the
queue and do the forwarding, and it would also notice that a site is down and send
unreachable messages back to the original senders.
--
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