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:27:00 UTC

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

     [ https://issues.apache.org/jira/browse/RATIS-396?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Tsz Wo Nicholas Sze updated RATIS-396:
--------------------------------------
    Description: 
If the future from writeStateMachineData throws TimeoutIOException, the RaftLogWorker will terminate Java VM. In some cases, 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 callers.

  was:
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.


> 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
>            Priority: Major
>
> If the future from writeStateMachineData throws TimeoutIOException, the RaftLogWorker will terminate Java VM. In some cases, 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 callers.



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