[ https://issues.apache.org/jira/browse/RATIS-159?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16548184#comment-16548184 ]
Tsz Wo Nicholas Sze commented on RATIS-159: ------------------------------------------- [~chrajeshbab...@gmail.com], this Jira probably is the same as RATIS-263. Please see also [this comment|https://issues.apache.org/jira/browse/RATIS-263?focusedCommentId=16536652&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-16536652]. Thanks. > Deadlock between AppendStreamer and SegmentedRaftLog eviction > ------------------------------------------------------------- > > Key: RATIS-159 > URL: https://issues.apache.org/jira/browse/RATIS-159 > Project: Ratis > Issue Type: Bug > Reporter: Mukul Kumar Singh > Assignee: Rajeshbabu Chintaguntla > Priority: Major > > Found the following deadlock while testing ratis with Ozone. I have also > attached the stack trace file along with the jira. > Java stack information for the threads listed above: > =================================================== > {code} > "Thread-195": > at > org.apache.ratis.server.impl.RaftServerImpl.getFollowerNextIndices(RaftServerImpl.java:946) > - waiting to lock <0x0000000081bbca08> (a > org.apache.ratis.server.impl.RaftServerImpl) > at > org.apache.ratis.server.storage.SegmentedRaftLog.checkAndEvictCache(SegmentedRaftLog.java:199) > at > org.apache.ratis.server.storage.SegmentedRaftLog.get(SegmentedRaftLog.java:190) > at > org.apache.ratis.server.impl.LogAppender.createRequest(LogAppender.java:170) > at > org.apache.ratis.grpc.server.GRpcLogAppender.appendLog(GRpcLogAppender.java:138) > - locked <0x00000000ad0101f8> (a > org.apache.ratis.grpc.server.GRpcLogAppender) > at > org.apache.ratis.grpc.server.GRpcLogAppender.run(GRpcLogAppender.java:85) > {code} > {code} > "grpc-default-executor-32": > at > org.apache.ratis.server.impl.LogAppender.notifyAppend(LogAppender.java:456) > - waiting to lock <0x00000000ad0101f8> (a > org.apache.ratis.grpc.server.GRpcLogAppender) > at > org.apache.ratis.server.impl.LeaderState$$Lambda$124/1715853171.accept(Unknown > Source) > at > java.util.concurrent.CopyOnWriteArrayList.forEach(CopyOnWriteArrayList.java:890) > at > org.apache.ratis.server.impl.LeaderState$SenderList.forEach(LeaderState.java:91) > at > org.apache.ratis.server.impl.LeaderState.notifySenders(LeaderState.java:190) > at > org.apache.ratis.server.impl.RaftServerImpl.appendTransaction(RaftServerImpl.java:438) > - locked <0x0000000081bbca08> (a > org.apache.ratis.server.impl.RaftServerImpl) > at > org.apache.ratis.server.impl.RaftServerImpl.submitClientRequestAsync(RaftServerImpl.java:481) > at > org.apache.ratis.server.impl.RaftServerProxy.submitClientRequestAsync(RaftServerProxy.java:137) > at > org.apache.ratis.grpc.client.RaftClientProtocolService$AppendRequestStreamObserver.onNext(RaftClientProtocolService.java:113) > at > org.apache.ratis.grpc.client.RaftClientProtocolService$AppendRequestStreamObserver.onNext(RaftClientProtocolService.java:96) > at > org.apache.ratis.shaded.io.grpc.stub.ServerCalls$2$1.onMessage(ServerCalls.java:206) > at > org.apache.ratis.shaded.io.grpc.internal.ServerCallImpl$ServerStreamListenerImpl.messageRead(ServerCallImpl.java:237) > at > org.apache.ratis.shaded.io.grpc.internal.ServerImpl$JumpToApplicationThreadServerStreamListener$1.runInContext(ServerImpl.java:485) > at > org.apache.ratis.shaded.io.grpc.internal.ContextRunnable.run(ContextRunnable.java:52) > at > org.apache.ratis.shaded.io.grpc.internal.SerializingExecutor$TaskRunner.run(SerializingExecutor.java:154) > at > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) > at > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) > at java.lang.Thread.run(Thread.java:745) > {code} -- This message was sent by Atlassian JIRA (v7.6.3#76005)