You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@ratis.apache.org by "Chung En Lee (Jira)" <ji...@apache.org> on 2024/09/09 06:54:00 UTC

[jira] [Created] (RATIS-2152) The `done` should also lock in `AwaitForSignal`.

Chung En Lee created RATIS-2152:
-----------------------------------

             Summary: The `done` should also lock in `AwaitForSignal`.
                 Key: RATIS-2152
                 URL: https://issues.apache.org/jira/browse/RATIS-2152
             Project: Ratis
          Issue Type: Bug
            Reporter: Chung En Lee
            Assignee: Chung En Lee


In `GrpcLogAppender`, it waits for signal at the end of `notifyInstallSnapshot`. However, checking whether the `InstallSnapshotResponseHandler` is done and `AwaitForSignal` are not atomic. This means that `InstallSnapshotResponseHandler.close` could run and complete after `notifyInstallSnapshot` checking whether the `InstallSnapshotResponseHandler` is done and before `AwaitForSignal.await()`. Then, this may cause that it is done but still waits until timeout.



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