[ https://issues.apache.org/jira/browse/IGNITE-8587?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16488673#comment-16488673 ]
ASF GitHub Bot commented on IGNITE-8587: ---------------------------------------- GitHub user macrergate opened a pull request: https://github.com/apache/ignite/pull/4059 IGNITE-8587 GridToStringBuilder use ConcurrentHashMap to avoid global… … locks on classCache You can merge this pull request into a Git repository by running: $ git pull https://github.com/gridgain/apache-ignite ignite-8587 Alternatively you can review and apply these changes as the patch at: https://github.com/apache/ignite/pull/4059.patch To close this pull request, make a commit to your master/trunk branch with (at least) the following in the commit message: This closes #4059 ---- commit 9db962835f49bc08a63f099995b0e3f98ff5bdea Author: Sergey Kosarev <skosarev@...> Date: 2018-05-24T08:56:12Z IGNITE-8587 GridToStringBuilder use ConcurrentHashMap to avoid global locks on classCache ---- > High Contention in GridToStringBuilder.toStringImpl > ----------------------------------------------------- > > Key: IGNITE-8587 > URL: https://issues.apache.org/jira/browse/IGNITE-8587 > Project: Ignite > Issue Type: Bug > Affects Versions: 2.4 > Reporter: Sergey Kosarev > Assignee: Sergey Kosarev > Priority: Major > > org.apache.ignite.internal.util.tostring.GridToStringBuilder#classCache > implemented as > ordinal HashMap with all operations syncronised by one ReadWriteLock. > this can trigger high contention as this class widely used in toString() > methods. > For instance it shoots when DEBUG or TRACE logs are enabled as count of > toString() invocations increases in this case extremely. > We need to use ConcurrentHashMap instead and avoid global locks. -- This message was sent by Atlassian JIRA (v7.6.3#76005)