Ivan Bessonov created IGNITE-22509:
--------------------------------------
Summary: Deadlock during the node stop
Key: IGNITE-22509
URL: https://issues.apache.org/jira/browse/IGNITE-22509
Project: Ignite
Issue Type: Bug
Reporter: Ivan Bessonov
{code:java}
"%itcskvt_n_1%Raft-Group-Client-1@51623" prio=5 tid=0x4a6e nid=NA waiting for
monitor entry
java.lang.Thread.State: BLOCKED
waiting for main@1 to release lock on <0xca23> (a
org.apache.ignite.internal.app.LifecycleManager)
at
org.apache.ignite.internal.app.LifecycleManager.lambda$allComponentsStartFuture$1(LifecycleManager.java:130)
at
org.apache.ignite.internal.app.LifecycleManager$$Lambda$2852.843214322.accept(Unknown
Source:-1)
at
java.util.concurrent.CompletableFuture.uniWhenComplete(CompletableFuture.java:859)
at
java.util.concurrent.CompletableFuture$UniWhenComplete.tryFire(CompletableFuture.java:837)
at
java.util.concurrent.CompletableFuture.postComplete(CompletableFuture.java:506)
at
java.util.concurrent.CompletableFuture.completeExceptionally(CompletableFuture.java:2088)
at
org.apache.ignite.internal.raft.RaftGroupServiceImpl.sendWithRetry(RaftGroupServiceImpl.java:550)
at
org.apache.ignite.internal.raft.RaftGroupServiceImpl.lambda$handleThrowable$41(RaftGroupServiceImpl.java:605)
at
org.apache.ignite.internal.raft.RaftGroupServiceImpl$$Lambda$5439.1444714785.run(Unknown
Source:-1)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)
at java.util.concurrent.FutureTask.run$$$capture(FutureTask.java:264)
at java.util.concurrent.FutureTask.run(FutureTask.java:-1)
at
java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:304)
at
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
at java.lang.Thread.run(Thread.java:829)
{code}
Holds busy lock in {{{}RaftGroupServiceImpl.sendWithRetry{}}}.
{code:java}
"main@1" prio=5 tid=0x1 nid=NA sleeping
java.lang.Thread.State: TIMED_WAITING
blocks %itcskvt_n_1%Raft-Group-Client-1@51623
at java.lang.Thread.sleep(Thread.java:-1)
at
org.apache.ignite.internal.util.IgniteSpinReadWriteLock.writeLock(IgniteSpinReadWriteLock.java:255)
at
org.apache.ignite.internal.util.IgniteSpinBusyLock.block(IgniteSpinBusyLock.java:68)
at
org.apache.ignite.internal.raft.RaftGroupServiceImpl.shutdown(RaftGroupServiceImpl.java:491)
at
org.apache.ignite.internal.metastorage.impl.MetaStorageServiceContext.close(MetaStorageServiceContext.java:75)
at
org.apache.ignite.internal.metastorage.impl.MetaStorageServiceImpl.close(MetaStorageServiceImpl.java:272)
at
org.apache.ignite.internal.metastorage.impl.MetaStorageManagerImpl$$Lambda$5148.891107.accept(Unknown
Source:-1)
at
org.apache.ignite.internal.util.IgniteUtils.cancelOrConsume(IgniteUtils.java:967)
at
org.apache.ignite.internal.metastorage.impl.MetaStorageManagerImpl.lambda$stopAsync$13(MetaStorageManagerImpl.java:452)
at
org.apache.ignite.internal.metastorage.impl.MetaStorageManagerImpl$$Lambda$5141.633101377.close(Unknown
Source:-1)
at
org.apache.ignite.internal.util.IgniteUtils.lambda$closeAllManually$1(IgniteUtils.java:611)
at
org.apache.ignite.internal.util.IgniteUtils$$Lambda$4822.1427077270.accept(Unknown
Source:-1)
at java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:183)
at
java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:177)
at
java.util.Spliterators$ArraySpliterator.forEachRemaining(Spliterators.java:948)
at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:484)
at
java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:474)
at
java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:150)
at
java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:173)
at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
at java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:497)
at
org.apache.ignite.internal.util.IgniteUtils.closeAllManually(IgniteUtils.java:609)
at
org.apache.ignite.internal.util.IgniteUtils.closeAllManually(IgniteUtils.java:643)
at
org.apache.ignite.internal.metastorage.impl.MetaStorageManagerImpl.stopAsync(MetaStorageManagerImpl.java:449)
at
org.apache.ignite.internal.util.IgniteUtils.lambda$stopAsync$6(IgniteUtils.java:1213)
at
org.apache.ignite.internal.util.IgniteUtils$$Lambda$5013.753691797.apply(Unknown
Source:-1)
at
java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:195)
at
java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:177)
at
java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1655)
at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:484)
at
java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:474)
at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:550)
at
java.util.stream.AbstractPipeline.evaluateToArrayNode(AbstractPipeline.java:260)
at java.util.stream.ReferencePipeline.toArray(ReferencePipeline.java:517)
at
org.apache.ignite.internal.util.IgniteUtils.stopAsync(IgniteUtils.java:1219)
at
org.apache.ignite.internal.util.IgniteUtils.stopAsync(IgniteUtils.java:1261)
at
org.apache.ignite.internal.app.LifecycleManager.stopAllComponents(LifecycleManager.java:168)
- locked <0xca23> (a org.apache.ignite.internal.app.LifecycleManager)
at
org.apache.ignite.internal.app.LifecycleManager.stopNode(LifecycleManager.java:144)
at
org.apache.ignite.internal.app.IgniteImpl.stopAsync(IgniteImpl.java:1444)
at org.apache.ignite.internal.app.IgniteImpl.stop(IgniteImpl.java:1435)
at
org.apache.ignite.internal.app.IgnitionImpl.lambda$stop$0(IgnitionImpl.java:119)
at
org.apache.ignite.internal.app.IgnitionImpl$$Lambda$4826.609494858.apply(Unknown
Source:-1)
at
java.util.concurrent.ConcurrentHashMap.computeIfPresent(ConcurrentHashMap.java:1822)
- locked <0xca57> (a java.util.concurrent.ConcurrentHashMap$Node)
at org.apache.ignite.internal.app.IgnitionImpl.stop(IgnitionImpl.java:117)
at org.apache.ignite.IgnitionManager.stop(IgnitionManager.java:96)
at org.apache.ignite.IgnitionManager.stop(IgnitionManager.java:82)
... {code}
Holds {{LifecycleManager}} in {{{}LifecycleManager.stopAllComponents{}}}.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)