Bill Burcham created GEODE-8477: ----------------------------------- Summary: getMembersNotShuttingDown() doesn't use consistent set of shutdown members Key: GEODE-8477 URL: https://issues.apache.org/jira/browse/GEODE-8477 Project: Geode Issue Type: Bug Components: membership Affects Versions: 1.12.0, 1.13.0, 1.14.0 Reporter: Bill Burcham
{{GMSMembership.getMembersNotShuttingDown()}} correctly accesses {{latestView}} under the protection of the read lock {{latestViewReadLock}} associated with the read-write lock {{latestViewLock}} ✓ However that method also accesses the {{shutdownMembers}} collection, a {{(Bounded)LinkedHashMap}}. That class does not provide concurrency protection. Furthermore {{shutdownMembers}} is not read/written under the protection of {{latestViewLock}} ✕ The result is that in this method, {{shutdownMembers}} may be corrupt and its contents may be arbitrarily stale. One solution is to put all reads and writes of {{shutdownMembers}} under the protection of the same read-write lock as {{latestView}} -- This message was sent by Atlassian Jira (v8.3.4#803005)