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

Vladislav Pyatkov resolved IGNITE-20012.
----------------------------------------
    Resolution: Duplicate

> Raft client freezing on stop
> ----------------------------
>
>                 Key: IGNITE-20012
>                 URL: https://issues.apache.org/jira/browse/IGNITE-20012
>             Project: Ignite
>          Issue Type: Improvement
>            Reporter: Vladislav Pyatkov
>            Priority: Major
>              Labels: ignite-3
>
>  The client cannot be closed while a RAFT command is being handled. The 
> request cannot be processed due to the infinity of waiting for schema.
> {noformat}
> "Test worker" #1 prio=5 os_prio=0 cpu=84323.53ms elapsed=3507.65s 
> tid=0x00007f224402d000 nid=0x153c93 waiting on condition  [0x00007f22493f0000]
>    java.lang.Thread.State: TIMED_WAITING (sleeping)
>         at java.lang.Thread.sleep([email protected]/Native Method)
>         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:463)
>         at 
> org.apache.ignite.internal.raft.client.TopologyAwareRaftGroupService.shutdown(TopologyAwareRaftGroupService.java:430)
>         at 
> org.apache.ignite.internal.table.distributed.storage.InternalTableImpl$$Lambda$3966/0x0000000801135040.close(Unknown
>  Source)
>         at 
> org.apache.ignite.internal.util.IgniteUtils.lambda$closeAllManually$1(IgniteUtils.java:685)
>         at 
> org.apache.ignite.internal.util.IgniteUtils$$Lambda$3937/0x000000080112c440.accept(Unknown
>  Source)
>         at 
> java.util.stream.ForEachOps$ForEachOp$OfRef.accept([email protected]/ForEachOps.java:183)
>         at 
> java.util.stream.ReferencePipeline$2$1.accept([email protected]/ReferencePipeline.java:177)
>         at 
> java.util.stream.StreamSpliterators$WrappingSpliterator$$Lambda$38/0x000000080008b040.accept([email protected]/Unknown
>  Source)
>         at 
> java.util.stream.ReferencePipeline$3$1.accept([email protected]/ReferencePipeline.java:195)
>         at 
> it.unimi.dsi.fastutil.ints.Int2ObjectOpenHashMap$ValueSpliterator.acceptOnIndex(Int2ObjectOpenHashMap.java:1221)
>         at 
> it.unimi.dsi.fastutil.ints.Int2ObjectOpenHashMap$ValueSpliterator.acceptOnIndex(Int2ObjectOpenHashMap.java:1205)
>         at 
> it.unimi.dsi.fastutil.ints.Int2ObjectOpenHashMap$MapSpliterator.forEachRemaining(Int2ObjectOpenHashMap.java:876)
>         at 
> it.unimi.dsi.fastutil.ints.Int2ObjectOpenHashMap$ValueSpliterator.forEachRemaining(Int2ObjectOpenHashMap.java:1205)
>         at 
> java.util.stream.AbstractPipeline.copyInto([email protected]/AbstractPipeline.java:484)
>         at 
> java.util.stream.AbstractPipeline.wrapAndCopyInto([email protected]/AbstractPipeline.java:474)
>         at 
> java.util.stream.StreamSpliterators$WrappingSpliterator.forEachRemaining([email protected]/StreamSpliterators.java:312)
>         at 
> java.util.stream.Streams$ConcatSpliterator.forEachRemaining([email protected]/Streams.java:734)
>         at 
> java.util.stream.AbstractPipeline.copyInto([email protected]/AbstractPipeline.java:484)
>         at 
> java.util.stream.AbstractPipeline.wrapAndCopyInto([email protected]/AbstractPipeline.java:474)
>         at 
> java.util.stream.ForEachOps$ForEachOp.evaluateSequential([email protected]/ForEachOps.java:150)
>         at 
> java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential([email protected]/ForEachOps.java:173)
>         at 
> java.util.stream.AbstractPipeline.evaluate([email protected]/AbstractPipeline.java:234)
>         at 
> java.util.stream.ReferencePipeline.forEach([email protected]/ReferencePipeline.java:497)
>         at 
> org.apache.ignite.internal.util.IgniteUtils.closeAllManually(IgniteUtils.java:683)
>         at 
> org.apache.ignite.internal.table.distributed.storage.InternalTableImpl.close(InternalTableImpl.java:1649)
>         at 
> org.apache.ignite.internal.util.IgniteUtils.lambda$closeAllManually$1(IgniteUtils.java:685)
>         at 
> org.apache.ignite.internal.util.IgniteUtils$$Lambda$3937/0x000000080112c440.accept(Unknown
>  Source)
>         at 
> java.util.stream.ForEachOps$ForEachOp$OfRef.accept([email protected]/ForEachOps.java:183)
>         at 
> java.util.stream.ReferencePipeline$2$1.accept([email protected]/ReferencePipeline.java:177)
>         at 
> java.util.Spliterators$ArraySpliterator.forEachRemaining([email protected]/Spliterators.java:948)
>         at 
> java.util.stream.AbstractPipeline.copyInto([email protected]/AbstractPipeline.java:484)
>         at 
> java.util.stream.AbstractPipeline.wrapAndCopyInto([email protected]/AbstractPipeline.java:474)
>         at 
> java.util.stream.ForEachOps$ForEachOp.evaluateSequential([email protected]/ForEachOps.java:150)
>         at 
> java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential([email protected]/ForEachOps.java:173)
>         at 
> java.util.stream.AbstractPipeline.evaluate([email protected]/AbstractPipeline.java:234)
>         at 
> java.util.stream.ReferencePipeline.forEach([email protected]/ReferencePipeline.java:497)
>         at 
> org.apache.ignite.internal.util.IgniteUtils.closeAllManually(IgniteUtils.java:683)
>         at 
> org.apache.ignite.internal.util.IgniteUtils.closeAllManually(IgniteUtils.java:706)
>         at 
> org.apache.ignite.internal.table.distributed.TableManager.cleanUpTablesResources(TableManager.java:1397)
>         at 
> org.apache.ignite.internal.table.distributed.TableManager.stop(TableManager.java:1320)
>         at 
> org.apache.ignite.internal.app.LifecycleManager.lambda$stopAllComponents$1(LifecycleManager.java:133)
>         at 
> org.apache.ignite.internal.app.LifecycleManager$$Lambda$3900/0x000000080111a440.accept(Unknown
>  Source)
>         at 
> java.util.Iterator.forEachRemaining([email protected]/Iterator.java:133)
>         at 
> org.apache.ignite.internal.app.LifecycleManager.stopAllComponents(LifecycleManager.java:131)
>         - locked <0x0000000415da2360> (a 
> org.apache.ignite.internal.app.LifecycleManager)
>         at 
> org.apache.ignite.internal.app.LifecycleManager.stopNode(LifecycleManager.java:115)
>         at org.apache.ignite.internal.app.IgniteImpl.stop(IgniteImpl.java:847)
>         at 
> org.apache.ignite.internal.app.IgnitionImpl.lambda$stop$0(IgnitionImpl.java:109)
>         at 
> org.apache.ignite.internal.app.IgnitionImpl$$Lambda$3856/0x000000080110ec40.apply(Unknown
>  Source)
>         at 
> java.util.concurrent.ConcurrentHashMap.computeIfPresent([email protected]/ConcurrentHashMap.java:1822)
>         - locked <0x000000043a838ed0> (a 
> java.util.concurrent.ConcurrentHashMap$Node)
>         at 
> org.apache.ignite.internal.app.IgnitionImpl.stop(IgnitionImpl.java:108)
>         at org.apache.ignite.IgnitionManager.stop(IgnitionManager.java:96)
>         at org.apache.ignite.IgnitionManager.stop(IgnitionManager.java:82)
>         at 
> org.apache.ignite.internal.Cluster.lambda$shutdown$11(Cluster.java:429)
>         at 
> org.apache.ignite.internal.Cluster$$Lambda$4236/0x0000000801312040.accept(Unknown
>  Source)
>         at java.util.ArrayList.forEach([email protected]/ArrayList.java:1541)
>         at org.apache.ignite.internal.Cluster.shutdown(Cluster.java:429)
>         at 
> org.apache.ignite.internal.raftsnapshot.ItTableRaftSnapshotsTest.shutdownCluster(ItTableRaftSnapshotsTest.java:151)
>         at 
> jdk.internal.reflect.NativeMethodAccessorImpl.invoke0([email protected]/Native
>  Method)
>         at 
> jdk.internal.reflect.NativeMethodAccessorImpl.invoke([email protected]/NativeMethodAccessorImpl.java:62)
>         at 
> jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke([email protected]/DelegatingMethodAccessorImpl.java:43)
>         at java.lang.reflect.Method.invoke([email protected]/Method.java:566)
>         at 
> org.junit.platform.commons.util.ReflectionUtils.invokeMethod(ReflectionUtils.java:727)
> "%node1%JRaft-Request-Processor-37" #113906 daemon prio=10 os_prio=0 
> cpu=3.06ms elapsed=395.00s tid=0x00007f889410d000 nid=0xf4135 waiting on 
> condition  [0x00007f81b87c5000]
>    java.lang.Thread.State: WAITING (parking)
>       at jdk.internal.misc.Unsafe.park([email protected]/Native Method)
>       - parking to wait for  <0x0000000408a88488> (a 
> java.util.concurrent.CompletableFuture$Signaller)
>       at 
> java.util.concurrent.locks.LockSupport.park([email protected]/LockSupport.java:194)
>       at 
> java.util.concurrent.CompletableFuture$Signaller.block([email protected]/CompletableFuture.java:1796)
>       at 
> java.util.concurrent.ForkJoinPool.managedBlock([email protected]/ForkJoinPool.java:3128)
>       at 
> java.util.concurrent.CompletableFuture.waitingGet([email protected]/CompletableFuture.java:1823)
>       at 
> java.util.concurrent.CompletableFuture.join([email protected]/CompletableFuture.java:2043)
>       at 
> org.apache.ignite.internal.schema.registry.SchemaRegistryImpl.schema(SchemaRegistryImpl.java:90)
>       at 
> org.apache.ignite.internal.schema.registry.SchemaRegistryImpl.waitLatestSchema(SchemaRegistryImpl.java:128)
>       at 
> org.apache.ignite.internal.index.IndexManager$TableRowToIndexKeyConverter.createConverter(IndexManager.java:545)
>       at 
> org.apache.ignite.internal.index.IndexManager$TableRowToIndexKeyConverter.convert(IndexManager.java:530)
>       - locked <0x0000000408a88540> (a java.lang.Object)
>       at 
> org.apache.ignite.internal.index.IndexManager$$Lambda$2740/0x0000000800d83c40.apply(Unknown
>  Source)
>       at 
> org.apache.ignite.internal.table.distributed.HashIndexLocker.locksForLookup(HashIndexLocker.java:65)
>       at 
> org.apache.ignite.internal.table.distributed.replicator.PartitionReplicaListener.resolveRowByPk(PartitionReplicaListener.java:1333)
>       at 
> org.apache.ignite.internal.table.distributed.replicator.PartitionReplicaListener.processSingleEntryAction(PartitionReplicaListener.java:1882)
>       at 
> org.apache.ignite.internal.table.distributed.replicator.PartitionReplicaListener.lambda$processRequest$1(PartitionReplicaListener.java:350)
>       at 
> org.apache.ignite.internal.table.distributed.replicator.PartitionReplicaListener$$Lambda$3801/0x000000080109d440.get(Unknown
>  Source)
>       at 
> org.apache.ignite.internal.table.distributed.replicator.PartitionReplicaListener.appendTxCommand(PartitionReplicaListener.java:1406)
>       at 
> org.apache.ignite.internal.table.distributed.replicator.PartitionReplicaListener.processRequest(PartitionReplicaListener.java:350)
>       at 
> org.apache.ignite.internal.table.distributed.replicator.PartitionReplicaListener.lambda$invoke$0(PartitionReplicaListener.java:343)
>       at 
> org.apache.ignite.internal.table.distributed.replicator.PartitionReplicaListener$$Lambda$2559/0x0000000800d21040.apply(Unknown
>  Source)
>       at 
> java.util.concurrent.CompletableFuture$UniCompose.tryFire([email protected]/CompletableFuture.java:1072)
>       at 
> java.util.concurrent.CompletableFuture.postComplete([email protected]/CompletableFuture.java:506)
>       at 
> java.util.concurrent.CompletableFuture.complete([email protected]/CompletableFuture.java:2073)
>       at 
> org.apache.ignite.internal.raft.RaftGroupServiceImpl.lambda$sendWithRetry$39(RaftGroupServiceImpl.java:541)
>       at 
> org.apache.ignite.internal.raft.RaftGroupServiceImpl$$Lambda$1443/0x00000008009a8c40.accept(Unknown
>  Source)
>       at 
> java.util.concurrent.CompletableFuture.uniWhenComplete([email protected]/CompletableFuture.java:859)
>       at 
> java.util.concurrent.CompletableFuture$UniWhenComplete.tryFire([email protected]/CompletableFuture.java:837)
>       at 
> java.util.concurrent.CompletableFuture.postComplete([email protected]/CompletableFuture.java:506)
>       at 
> java.util.concurrent.CompletableFuture.complete([email protected]/CompletableFuture.java:2073)
>       at 
> org.apache.ignite.network.DefaultMessagingService.onInvokeResponse(DefaultMessagingService.java:401)
>       at 
> org.apache.ignite.network.DefaultMessagingService.send0(DefaultMessagingService.java:200)
>       at 
> org.apache.ignite.network.DefaultMessagingService.respond(DefaultMessagingService.java:143)
>       at 
> org.apache.ignite.network.MessagingService.respond(MessagingService.java:89)
>       at 
> org.apache.ignite.raft.jraft.rpc.impl.IgniteRpcServer$NetworkRpcContext.sendResponse(IgniteRpcServer.java:233)
>       at 
> org.apache.ignite.raft.jraft.rpc.RpcRequestProcessor.handleRequest(RpcRequestProcessor.java:52)
>       at 
> org.apache.ignite.raft.jraft.rpc.RpcRequestProcessor.handleRequest(RpcRequestProcessor.java:29)
>       at 
> org.apache.ignite.raft.jraft.rpc.impl.IgniteRpcServer$RpcMessageHandler.lambda$onReceived$0(IgniteRpcServer.java:192)
>       at 
> org.apache.ignite.raft.jraft.rpc.impl.IgniteRpcServer$RpcMessageHandler$$Lambda$1442/0x00000008009a8440.run(Unknown
>  Source)
>       at 
> java.util.concurrent.ThreadPoolExecutor.runWorker([email protected]/ThreadPoolExecutor.java:1128)
>       at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run([email protected]/ThreadPoolExecutor.java:628)
>       at java.lang.Thread.run([email protected]/Thread.java:834)
> {noformat}
>  



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to