[jboss-jira] [JBoss JIRA] (JGRP-1528) RELAY2: batch messages forwarded to remote sites

Bela Ban (JIRA) jira-events at lists.jboss.org
Fri Nov 2 04:00:18 EDT 2012


    [ https://issues.jboss.org/browse/JGRP-1528?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12731086#comment-12731086 ] 

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


More information about the jboss-jira mailing list