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/11/30 23:18:01 UTC

[jira] [Commented] (RATIS-389) Unexpected State in Segmented RaftLog while shutting down LeaderState

    [ https://issues.apache.org/jira/browse/RATIS-389?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16705405#comment-16705405 ] 

Tsz Wo Nicholas Sze commented on RATIS-389:
-------------------------------------------

This seems okay since server is shutting down.

> Unexpected State in Segmented RaftLog while shutting down LeaderState
> ---------------------------------------------------------------------
>
>                 Key: RATIS-389
>                 URL: https://issues.apache.org/jira/browse/RATIS-389
>             Project: Ratis
>          Issue Type: Bug
>          Components: server
>            Reporter: Mukul Kumar Singh
>            Assignee: Mukul Kumar Singh
>            Priority: Major
>
> After shutting down the leaderState, the Log Appender throws the following exception.
> {code}
> 2018-11-02 06:00:11,500 INFO org.apache.ratis.server.impl.RaftServerImpl: 2dd779ad-06e5-4dfa-9228-664511cc2d18 closes. The last applied log index is 57969
> 2018-11-02 06:00:11,500 ERROR org.apache.ratis.server.impl.LogAppender: GrpcLogAppender(2dd779ad-06e5-4dfa-9228-664511cc2d18 -> 30150210-575a-4bd8-b6f2-62a56d2d0a8b) unexpected exception
> java.lang.IllegalArgumentException: 2dd779ad-06e5-4dfa-9228-664511cc2d18-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.storage.RaftLog.checkLogState(RaftLog.java:80)
>         at org.apache.ratis.server.storage.SegmentedRaftLog.get(SegmentedRaftLog.java:175)
>         at org.apache.ratis.server.storage.SegmentedRaftLog.getEntryWithData(SegmentedRaftLog.java:200)
>         at org.apache.ratis.server.impl.LogAppender.createRequest(LogAppender.java:207)
>         at org.apache.ratis.grpc.server.GrpcLogAppender.appendLog(GrpcLogAppender.java:152)
>         at org.apache.ratis.grpc.server.GrpcLogAppender.runAppenderImpl(GrpcLogAppender.java:96)
>         at org.apache.ratis.server.impl.LogAppender.runAppender(LogAppender.java:100)
>         at java.lang.Thread.run(Thread.java:745)
> Caused by: org.apache.ratis.util.OpenCloseState$CloseTrace: Close 2dd779ad-06e5-4dfa-9228-664511cc2d18-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.storage.RaftLog.close(RaftLog.java:336)
>         at org.apache.ratis.server.storage.SegmentedRaftLog.close(SegmentedRaftLog.java:425)
>         at org.apache.ratis.server.impl.ServerState.close(ServerState.java:388)
>         at org.apache.ratis.server.impl.RaftServerImpl.lambda$shutdown$3(RaftServerImpl.java:260)
>         at org.apache.ratis.util.LifeCycle.checkStateAndClose(LifeCycle.java:219)
>         at org.apache.ratis.server.impl.RaftServerImpl.shutdown(RaftServerImpl.java:237)
>         at org.apache.ratis.server.impl.RaftServerProxy.lambda$groupRemoveAsync$12(RaftServerProxy.java:387)
>         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:385)
>         at org.apache.ratis.server.impl.RaftServerProxy.groupManagementAsync(RaftServerProxy.java:348)
>         at org.apache.ratis.grpc.server.GrpcAdminProtocolService.lambda$groupManagement$0(GrpcAdminProtocolService.java:42)
>         at org.apache.ratis.grpc.GrpcUtil.asyncCall(GrpcUtil.java:115)
>         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:707)
>         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:1142)
>         at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
>         ... 1 more
> {code}



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)