[ https://issues.apache.org/jira/browse/IGNITE-15017?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Ivan Bessonov updated IGNITE-15017: ----------------------------------- Ignite Flags: (was: Docs Required,Release Notes Required) > Contention in lock on Compound future > ------------------------------------- > > Key: IGNITE-15017 > URL: https://issues.apache.org/jira/browse/IGNITE-15017 > Project: Ignite > Issue Type: Improvement > Reporter: Vladislav Pyatkov > Assignee: Vladislav Pyatkov > Priority: Major > Fix For: 2.12 > > Time Spent: 20m > Remaining Estimate: 0h > > During analyze of JFR I noticed that the threads waiting long time on getting > compounds on the future. > It happened on an exclusive checkpoint phase and have a negative impact to > transactions (they increased to a hundred milliseconds). > This stack held the checkpoint workers: > {noformat} > org.apache.ignite.internal.util.future.GridCompoundFuture.futuresCount() > line: 358 2 0,036 272 938 246 > org.apache.ignite.internal.util.future.GridCompoundFuture.checkComplete() > line: 282 2 0,036 272 938 246 > > org.apache.ignite.internal.util.future.GridCompoundFuture.apply(IgniteInternalFuture) > line: 142 2 0,036 272 938 246 > > org.apache.ignite.internal.util.future.GridCompoundFuture.apply(Object) line: > 43 2 0,036 272 938 246 > > org.apache.ignite.internal.util.future.GridFutureAdapter.notifyListener(IgniteInClosure) > line: 407 2 0,036 272 938 246 > > org.apache.ignite.internal.util.future.GridFutureAdapter.unblock(Object) > line: 355 2 0,036 272 938 246 > > org.apache.ignite.internal.util.future.GridFutureAdapter.unblockAll(GridFutureAdapter$Node) > line: 343 2 0,036 272 938 246 > > org.apache.ignite.internal.util.future.GridFutureAdapter.onDone(Object, > Throwable, boolean) line: 520 2 0,036 272 938 246 > > org.apache.ignite.internal.util.future.GridFutureAdapter.onDone(Object, > Throwable) line: 498 2 0,036 272 938 246 > > org.apache.ignite.internal.util.future.GridFutureAdapter.onDone() line: 464 > 2 0,036 272 938 246 > > org.apache.ignite.internal.util.IgniteUtils.lambda$wrapIgniteFuture$3(Runnable, > GridFutureAdapter) line: 11730 2 0,036 272 938 246 > > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor$Worker) > line: 1149 2 0,036 272 938 246 > > java.util.concurrent.ThreadPoolExecutor$Worker.run() line: 624 2 > 0,036 272 938 246 > java.lang.Thread.run() line: 748 > 2 0,036 272 938 246 > {noformat} > You can see that the method {{checkComplete}} was freezed on 272 938 246 > microseconds in two times invocations. -- This message was sent by Atlassian Jira (v8.3.4#803005)