[ 
https://issues.apache.org/jira/browse/GEODE-7434?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Jacob Barrett reassigned GEODE-7434:
------------------------------------

    Assignee: 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: 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)

Reply via email to