]
Bela Ban updated JGRP-2320:
---------------------------
Fix Version/s: 4.0.20
(was: 4.0.19)
FILE_PING.findMembers() optimizations
-------------------------------------
Key: JGRP-2320
URL:
https://issues.jboss.org/browse/JGRP-2320
Project: JGroups
Issue Type: Enhancement
Affects Versions: 3.6.16, 4.0.15
Reporter: Nick Sawadsky
Assignee: Bela Ban
Priority: Minor
Fix For: 4.0.20
Following on from JGRP-2288, a couple of possible optimizations/improvements to
{{FILE_PING.findMembers()}} were identified.
1. After the initial call to {{readAll()}}, some corrective steps are taken if the local
node address was not returned by {{readAll()}}. However, in the case where
{{findMembers()}} is invoked by {{TP.fetchResponsesFromDiscoveryProtocol()}}, it is normal
if the local node address is not returned, since the {{readAll()}} responses are filtered
based on the {{members}} parameter.
To avoid unnecessary writes to the file or cloud store, it would be good to add some
checks based on whether {{members}} is null or not. For example, the calls to {{write()}}
and {{writeAll()}} should probably not occur unless {{members}} is null.
2. In the call to {{sendDiscoveryResponse()}}, the last parameter is always {{false}}.
However, it seems possible for a coordinator to get to this point in some edge cases.
Though I haven't been able to identify any clear bugs that this would lead to, it
might be better to pass {{is_coord}} as the last parameter.