You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Thread pinning can occur if the mapping function passed to any of the compute methods in ConcurrentHashMap results in any I/O. The internal implementation of ConcurrentHashMap will hold a lock while the VT is parked, causing the pinning.
Note that I/O in the mapping function can be indirect: for example, using config or a service loader. Please verify that the following calls will never need I/O to complete:
ObserverManager:76
If required, re-implement the map using a traditional reentrant lock and a hash map.
The text was updated successfully, but these errors were encountered:
A quick trace of the downstream code shows that the compute-if-absent function does indeed use service loading, so this will probably need to be rewritten using a lock.
Problem Description
Thread pinning can occur if the mapping function passed to any of the
compute
methods inConcurrentHashMap
results in any I/O. The internal implementation ofConcurrentHashMap
will hold a lock while the VT is parked, causing the pinning.Note that I/O in the mapping function can be indirect: for example, using config or a service loader. Please verify that the following calls will never need I/O to complete:
If required, re-implement the map using a traditional reentrant lock and a hash map.
The text was updated successfully, but these errors were encountered: