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/07 02:17:00 UTC

[jira] [Created] (RATIS-396) Support retry if writeStateMachineData throws TimeoutIOException

Tsz Wo Nicholas Sze created RATIS-396:
-----------------------------------------

             Summary: Support retry if writeStateMachineData throws TimeoutIOException
                 Key: RATIS-396
                 URL: https://issues.apache.org/jira/browse/RATIS-396
             Project: Ratis
          Issue Type: Improvement
          Components: server
            Reporter: Tsz Wo Nicholas Sze
            Assignee: Tsz Wo Nicholas Sze


If the future from writeStateMachineData throws TimeoutIOException, the RaftLogWorker will terminate Java VM.  In some case, such behavior is undesirable.  For example, the application may want to just shut down Ratis server but not the entire application.

In this JIRA, we allow retrying on TimeoutIOException.  Then, application could detect no progression if TimeoutIOException happens again and again.

Note that RaftLogWorker has a BlockingQueue with capacity of 4096.  If TimeoutIOException happens again and again, it won't accept further appendEntry and block the caller.



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