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 2019/03/22 09:59:00 UTC

[jira] [Comment Edited] (RATIS-503) RaftLog is accessed by LeaderElection after closed

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

Tsz Wo Nicholas Sze edited comment on RATIS-503 at 3/22/19 9:58 AM:
--------------------------------------------------------------------

> RaftServerImpl#close, tries to close an already closed segment

This is not true.  It should be "RaftLog is accessed after closed".  Revising the Summary and Description.


was (Author: szetszwo):
> RaftServerImpl#close, tries to close an already closed segment

This is not true.  It should be RaftLog is accessed after closed.  Revising the Summary and Description.

> RaftLog is accessed by LeaderElection after closed
> --------------------------------------------------
>
>                 Key: RATIS-503
>                 URL: https://issues.apache.org/jira/browse/RATIS-503
>             Project: Ratis
>          Issue Type: Bug
>          Components: server
>            Reporter: Mukul Kumar Singh
>            Assignee: Tsz Wo Nicholas Sze
>            Priority: Minor
>         Attachments: r503_20190322.patch
>
>
> IllegalArgumentException: SegmentedRaftLog is expected to be opened but it is CLOSED
> {code}
> Exception in thread "Thread-429" java.lang.IllegalArgumentException: a790aa85-94ee-4627-a474-37d60022f180-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:88)
>         at org.apache.ratis.server.storage.SegmentedRaftLog.getLastEntryTermIndex(SegmentedRaftLog.java:246)
>         at org.apache.ratis.server.storage.RaftLog.getNextIndex(RaftLog.java:137)
>         at org.apache.ratis.server.impl.LeaderState.<init>(LeaderState.java:208)
>         at org.apache.ratis.server.impl.RoleInfo.startLeaderState(RoleInfo.java:90)
>         at org.apache.ratis.server.impl.RaftServerImpl.changeToLeader(RaftServerImpl.java:324)
>         at org.apache.ratis.server.impl.LeaderElection.askForVotes(LeaderElection.java:162)
>         at org.apache.ratis.server.impl.LeaderElection.run(LeaderElection.java:102)
> Caused by: org.apache.ratis.util.OpenCloseState$CloseTrace: Close a790aa85-94ee-4627-a474-37d60022f180-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:398)
>         at org.apache.ratis.server.storage.SegmentedRaftLog.close(SegmentedRaftLog.java:406)
>         at org.apache.ratis.server.impl.ServerState.close(ServerState.java:389)
>         at org.apache.ratis.server.impl.RaftServerImpl.lambda$shutdown$3(RaftServerImpl.java:256)
>         at org.apache.ratis.util.LifeCycle.checkStateAndClose(LifeCycle.java:220)
>         at org.apache.ratis.server.impl.RaftServerImpl.shutdown(RaftServerImpl.java:233)
>         at org.apache.ratis.server.impl.RaftServerProxy$ImplMap.lambda$close$0(RaftServerProxy.java:110)
>         ...
>         at org.apache.ratis.server.impl.RaftServerProxy$ImplMap.close(RaftServerProxy.java:110)
>         at org.apache.ratis.server.impl.RaftServerProxy.lambda$close$4(RaftServerProxy.java:307)
>         at org.apache.ratis.util.LifeCycle.checkStateAndClose(LifeCycle.java:220)
>         at org.apache.ratis.server.impl.RaftServerProxy.close(RaftServerProxy.java:305)
>         ...
> {code}



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