[ https://issues.apache.org/jira/browse/GEODE-7434?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Ernest Burghardt closed GEODE-7434. ----------------------------------- Assignee: Ernest Burghardt (was: Jacob Barrett) > 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 > Assignee: Ernest Burghardt > Priority: Major > Labels: performance > Fix For: 1.12.0 > > Time Spent: 20m > 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)