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)