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)