[
https://issues.jboss.org/browse/JGRP-1765?page=com.atlassian.jira.plugin....
]
Bela Ban commented on JGRP-1765:
--------------------------------
To avoid having to deserialize a message or message batch sent by self, only to discard it
later, the sender's address should be read first. (We cannot use the sender's
physical address, as a multicast to local:7500 would not reveal the sender's local
port).
E.g if P multicasts 100 messages, the current algorithm works as follows:
* The byte buffer representing the 100 messages is received
* We parse the messages and create one or more batches
* All batches sent from P are discarded (if loopback is true)
--> The deserialization and creation of memory to hold the batch was not needed as it
was discarded anyway
TP: enable loopback by default and discard own multicasts
---------------------------------------------------------
Key: JGRP-1765
URL:
https://issues.jboss.org/browse/JGRP-1765
Project: JGroups
Issue Type: Enhancement
Reporter: Bela Ban
Assignee: Bela Ban
Fix For: 3.5
Enable {{TP.looback}} by default (deprecate and ignore prop): all messages sent by self
are passed right to a thread pool to send them up again.
When a multicast message sent by self is received, it is currently passed to a thread
pool, de-serialized and only then discarded if loopback=true. This means that we create an
unneeded buffer for de-serializationand perform de-serialization.
SOLUTION: discard the multicast from self immediately when receiving it, in
{{TP.receive()}}
--
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