You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@ratis.apache.org by "Ivan Andika (Jira)" <ji...@apache.org> on 2024/11/21 10:39:00 UTC

[jira] [Created] (RATIS-2196) Make StateMachine notification API asynchronous

Ivan Andika created RATIS-2196:
----------------------------------

             Summary: Make StateMachine notification API asynchronous
                 Key: RATIS-2196
                 URL: https://issues.apache.org/jira/browse/RATIS-2196
             Project: Ratis
          Issue Type: Improvement
            Reporter: Ivan Andika


Some of the StateMachine notification APIs are run sequentially in very important parts of the code (e.g. StateMachineUpdater). This carries a few risks:
 * If the notification API implementation takes very long, it might cause the StateMachine performance to suffer
 * Exception thrown in this notification APIs might cause the whole StateMachine to be

One idea is to make this notification API asynchronous. For example, by having a specific ExecutorService to run the notifications, or just do a "fire and forget" method.

However, if the StateMachine implementation relies on the sequential nature of the StateMachine notification API, it might not be wise to make this asynchoronous.

We can discuss whether making the notification API asynchronous make sense.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)