You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@ratis.apache.org by "Tsz Wo Nicholas Sze (JIRA)" <ji...@apache.org> on 2018/07/18 18:08:00 UTC
[jira] [Commented] (RATIS-159) Deadlock between AppendStreamer and
SegmentedRaftLog eviction
[ 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:
-------------------------------------------
[~chrajeshbabu32@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)