Bela Ban created JGRP-1815:
------------------------------
Summary: TP: sending a message to a non-existent physical address takes too
much time
Key: JGRP-1815
URL:
https://issues.jboss.org/browse/JGRP-1815
Project: JGroups
Issue Type: Enhancement
Reporter: Bela Ban
Assignee: Bela Ban
Fix For: 3.5
When sending a message in the transport, e.g. a message batch, and one or more
destinations have no physical addresses in {{logical_addr_cache}}, then we loop
{{physical_addr_max_fetch_attempts}} (default: 3) times and also sleep a random number of
ms (in range [1..500]).
This delays the sending of other messages in the same batch, or of other messages in
general. Also, if TransferQueueBundler is used, the transfer queue might get filled, so
other sender threads are blocked.
SOLUTION:
* Remove the loop when sending a message: if the physical address for a message is not
found, simply send a discovery request and drop the message
* The discovery request needs to be sent on a separate thread, as calling {{up(Event)}}
directly could also delay the sending of the message or message batch.
* JGRP-1814 will also help, as connections to left members are closed, and therefore not
finding a physical address for a destination should be rare
--
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