Shashikant Banerjee created RATIS-745:
-----------------------------------------
Summary: GrpcLogAppender crashes during group remove call
Key: RATIS-745
URL: https://issues.apache.org/jira/browse/RATIS-745
Project: Ratis
Issue Type: Bug
Components: server
Affects Versions: 0.5.0
Reporter: Shashikant Banerjee
{code:java}
2019-11-07 02:47:23,938 ERROR org.apache.ratis.server.impl.LogAppender:
61d2e0e1-f3b5-48a9-84f3-0dbef92cb5c7@group-CD36ED82D2AF->332adcba-7bf5-4e34-aa91-20ab8839cae4-GrpcLogAppender-AppenderDaemon
unexpected exceptionjava.lang.IllegalArgumentException:
61d2e0e1-f3b5-48a9-84f3-0dbef92cb5c7@group-CD36ED82D2AF-SegmentedRaftLog is
expected to be opened but it is CLOSED at
org.apache.ratis.util.OpenCloseState.assertOpen(OpenCloseState.java:63)
at org.apache.ratis.server.raftlog.RaftLog.checkLogState(RaftLog.java:102)
at
org.apache.ratis.server.raftlog.segmented.SegmentedRaftLog.getLastEntryTermIndex(SegmentedRaftLog.java:345)
at
org.apache.ratis.server.raftlog.RaftLog.getNextIndex(RaftLog.java:148)
at
org.apache.ratis.server.impl.LogAppender.shouldAppendEntries(LogAppender.java:544)
at
org.apache.ratis.server.impl.LogAppender.shouldSendRequest(LogAppender.java:540)
at
org.apache.ratis.grpc.server.GrpcLogAppender.shouldSendRequest(GrpcLogAppender.java:156)
at
org.apache.ratis.grpc.server.GrpcLogAppender.runAppenderImpl(GrpcLogAppender.java:103)
at
org.apache.ratis.server.impl.LogAppender$AppenderDaemon.run(LogAppender.java:76)
at java.lang.Thread.run(Thread.java:748)Caused by:
org.apache.ratis.util.OpenCloseState$CloseTrace: Close
61d2e0e1-f3b5-48a9-84f3-0dbef92cb5c7@group-CD36ED82D2AF-SegmentedRaftLog
at org.apache.ratis.util.OpenCloseState.lambda$close$1(OpenCloseState.java:109)
at
java.util.concurrent.atomic.AtomicReference.getAndUpdate(AtomicReference.java:160)
at org.apache.ratis.util.OpenCloseState.close(OpenCloseState.java:109)
at org.apache.ratis.server.raftlog.RaftLog.close(RaftLog.java:437)
at
org.apache.ratis.server.raftlog.segmented.SegmentedRaftLog.close(SegmentedRaftLog.java:500)
at org.apache.ratis.server.impl.ServerState.close(ServerState.java:389)
at
org.apache.ratis.server.impl.RaftServerImpl.lambda$shutdown$3(RaftServerImpl.java:275)
at
org.apache.ratis.util.LifeCycle.lambda$checkStateAndClose$2(LifeCycle.java:231)
at
org.apache.ratis.util.LifeCycle.checkStateAndClose(LifeCycle.java:251)
at org.apache.ratis.util.LifeCycle.checkStateAndClose(LifeCycle.java:229)
at
org.apache.ratis.server.impl.RaftServerImpl.shutdown(RaftServerImpl.java:252)
at
org.apache.ratis.server.impl.RaftServerProxy.lambda$groupRemoveAsync$12(RaftServerProxy.java:406)
at
java.util.concurrent.CompletableFuture.uniApply(CompletableFuture.java:602)
at
java.util.concurrent.CompletableFuture.uniApplyStage(CompletableFuture.java:614)
at
java.util.concurrent.CompletableFuture.thenApply(CompletableFuture.java:1983)
at
org.apache.ratis.server.impl.RaftServerProxy.groupRemoveAsync(RaftServerProxy.java:404)
at
org.apache.ratis.server.impl.RaftServerProxy.groupManagementAsync(RaftServerProxy.java:367)
at
org.apache.ratis.grpc.server.GrpcAdminProtocolService.lambda$groupManagement$0(GrpcAdminProtocolService.java:42)
at org.apache.ratis.grpc.GrpcUtil.asyncCall(GrpcUtil.java:140)
at
org.apache.ratis.grpc.server.GrpcAdminProtocolService.groupManagement(GrpcAdminProtocolService.java:42)
at
org.apache.ratis.proto.grpc.AdminProtocolServiceGrpc$MethodHandlers.invoke(AdminProtocolServiceGrpc.java:361)
at
org.apache.ratis.thirdparty.io.grpc.stub.ServerCalls$UnaryServerCallHandler$UnaryServerCallListener.onHalfClose(ServerCalls.java:171)
at
org.apache.ratis.thirdparty.io.grpc.internal.ServerCallImpl$ServerStreamListenerImpl.halfClosed(ServerCallImpl.java:283)
at
org.apache.ratis.thirdparty.io.grpc.internal.ServerImpl$JumpToApplicationThreadServerStreamListener$1HalfClosed.runInContext(ServerImpl.java:710)
at
org.apache.ratis.thirdparty.io.grpc.internal.ContextRunnable.run(ContextRunnable.java:37)
at
org.apache.ratis.thirdparty.io.grpc.internal.SerializingExecutor.run(SerializingExecutor.java:123)
at
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
{code}
--
This message was sent by Atlassian Jira
(v8.3.4#803005)