Jacob Barrett created GEODE-7434:
------------------------------------
Summary: Unnecessary object allocation and locking in
GMSHealthMonitor.contactedBy
Key: GEODE-7434
URL: https://issues.apache.org/jira/browse/GEODE-7434
Project: Geode
Issue Type: Bug
Components: membership
Reporter: Jacob Barrett
GMSHealthMonitor.contactedBy allocates a {{TimeStamp}} for every call but
throws it away almost all of the time in the call to {{putIfAbsent}}.
Additionally, {{putIfAbsent}} always brags a monitor on the hash segment
resulting in unnecessary synchronization.
All with use of {{JavaWorkarounds.computeIfAbsent}} to avoid the locking and
object allocation for the hot path where the entry already exists.
Benchmark profiling shows 77% of P2P reader threads spent waiting for this lock.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)