]
Dan Berindei updated ISPN-9062:
-------------------------------
Sprint: Sprint 9.3.0.Beta1
JGroupsTransport should only send messages to nodes in the cluster
view
-----------------------------------------------------------------------
Key: ISPN-9062
URL:
https://issues.jboss.org/browse/ISPN-9062
Project: Infinispan
Issue Type: Bug
Components: Core
Affects Versions: 9.2.1.Final
Reporter: Dan Berindei
Assignee: Dan Berindei
Fix For: 9.2.2.Final, 9.3.0.Alpha1
{{JGroupsTransport}} only waits for responses from nodes in the JGroups cluster view, but
it still sends messages to all the nodes specified as a target. The idea was to optimize
the common case by avoiding a {{HashSet.contains()}} call.
However, when a node is not in the view, messages to it still pass through the entire
JGroups stack, and UNICAST3 keeps those messages in a send table for a long time
({{UNICAST3.conn_expiry_timeout}}, changed with ISPN-9038 from {{0}} (unlimited) to 2
minutes (JGroups default)). Having a potentially unlimited number of messages of
non-members, each with its own send table, makes it much harder to estimate memory usage.