[
https://issues.apache.org/jira/browse/GEODE-7434?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Jacob Barrett updated GEODE-7434:
---------------------------------
Labels: performance (was: )
> 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: benchmarks, membership
> Reporter: Jacob Barrett
> Priority: Major
> Labels: performance
> Time Spent: 10m
> Remaining Estimate: 0h
>
> 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)