[
https://jira.jboss.org/jira/browse/JGRP-1192?page=com.atlassian.jira.plug...
]
Bela Ban commented on JGRP-1192:
--------------------------------
OK, so I'll optimize for the following cases:
#1 Null target list: send to all members in a cluster
#2 Exclusion list containing a few members: send to all but 1 or 2 members. I guess the
most common use case for exclusion is to send to all but me (the sender)
- If we want to send to 40 or 50% of the members, use an anycast
- For TCP, use anycasts, too
RpcDispatcher / MessageDispatcher: add exclusion list to compute
target membership
----------------------------------------------------------------------------------
Key: JGRP-1192
URL:
https://jira.jboss.org/jira/browse/JGRP-1192
Project: JGroups
Issue Type: Feature Request
Reporter: Bela Ban
Assignee: Bela Ban
Fix For: 2.10
[Email Paul Ferraro]
Always send an address list PLUS a bit flag that indicates how to
interpret the list. If the flag is 0, interpret the list as a target
list. If the flag is 1, interpret the list as an exclusion list.
When a target list is specified for an rpc, compare the size of the
membership list with the target list. If (target * 2) <= membership,
send list with exclusion flag = 0. If (target * 2) > membership, send
set difference between membership and target list with exclusion flag =
1. On the receiving end, if exclusion flag is 0, handle the message if
we're in the list of addresses; if exclusion flag is 1, handle the
message if we're NOT in the list of addresses.
A rpc with a null target list would always use a exclusion flag of 1,
exclude nothing.
Even better, add new RpcDispatcher/MessageDispatcher methods to invoke
on all except a list of addresses. This way, jgroups doesn't need to do
anything "clever" - but always send list + bit flag in accordance with
API.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
https://jira.jboss.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira