[
https://issues.jboss.org/browse/ISPN-825?page=com.atlassian.jira.plugin.s...
]
Mircea Markus commented on ISPN-825:
------------------------------------
Suggestion from Manik:
numInitialRemoteGets (default 1)
remoteGetTimeout (default 500ms? What's our average remote GET time anyway?)
So with this scheme, we'd:
* Randomly select 'numInitialRemoteGets' from dataOwners
* Send them the remote get
* After remoteGetTimeout, send a remote get to the next data owner, until we run out of
data owners
* Return the first valid response.
Consider staggering remote get requests when using DIST
-------------------------------------------------------
Key: ISPN-825
URL:
https://issues.jboss.org/browse/ISPN-825
Project: Infinispan
Issue Type: Feature Request
Components: RPC
Affects Versions: 4.1.0.Final
Reporter: Manik Surtani
Assignee: Mircea Markus
Priority: Critical
Labels: optimization, performance
Fix For: 5.2.0.FINAL
In DIST mode, when a request is made on a key that is not mapped locally, a remote get is
sent to all data owners of that key and the first response is used. This can add
unnecessary load on the network as all nodes still eventually respond, and if values are
large this can cause a lot of unnecessary network traffic.
The purpose of broadcasting to all data owners is so that (1) if one is down, another
could still respond (2) if one is overloaded, others may respond faster.
A solution around this could be based on either (or both) of:
* Provide a configurable stagger timeout, e.g. 100ms. E.g., RPC to (random) Owner1.
Wait for timeout t. If no response, RPC to Owner2. etc.
* Always broadcast to a (configurable) subset of owners, e.g., always 2 even if numOwners
is 5.
Needs careful thought and design.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators:
https://issues.jboss.org/secure/ContactAdministrators!default.jspa
For more information on JIRA, see:
http://www.atlassian.com/software/jira