]
Manuel Dominguez Sarmiento updated JGRP-1296:
---------------------------------------------
Attachment: patch.txt
Alternative implementation of FD_ALL.up() has been attached, resolving the issue.
FD_ALL -> when msg_counts_as_heartbeat is enabled, heartbeat
messages are unnecessarily passed up to the layer above
--------------------------------------------------------------------------------------------------------------------
Key: JGRP-1296
URL:
https://issues.jboss.org/browse/JGRP-1296
Project: JGroups
Issue Type: Bug
Affects Versions: 2.12
Reporter: Manuel Dominguez Sarmiento
Assignee: Bela Ban
Attachments: patch.txt
The code in question is FD_ALL.up()
When the message is itself a heartbeat message originating from another node, the control
flow goes inside the block guarded by msg_counts_as_heartbeat, updates the sender
timestamp, and then break; which means control flow goes outside the switch block and
return up_prot.up(evt); is invoked. So what ends up happening is that all heartbeat
messages are passed up the stack while they shouldn't be.
We use JGroups as the replication mechanism for EhCache, and we noticed this issue after
enabling msg_counts_as_heartbeat - the JChannel receiver all of a sudden began receiving
empty messages every 5 seconds, which is the heartbeat interval we have configured.
Disabling the flag brought everything back to normal.
--
This message is automatically generated by JIRA.
For more information on JIRA, see: