Sergey Soldatov created RATIS-2505:
--------------------------------------

             Summary: Improve RATIS-2387 with direct synchronous append when 
compose disabled
                 Key: RATIS-2505
                 URL: https://issues.apache.org/jira/browse/RATIS-2505
             Project: Ratis
          Issue Type: Improvement
          Components: Follower, server
    Affects Versions: 3.2.1
            Reporter: Sergey Soldatov
             Fix For: 3.2.2


After RATIS-2387 introduced the appendEntriesComposeEnabled configuration flag 
to address performance regression from RATIS-2235, when compose is disabled the 
code still uses asynchronous composition via thenComposeAsync() in the 
appendLog() method. This submits the append task to the executor queue instead 
of running it inline on the current thread.
That was visible during high write load in Ozone. Some transactions were not 
appended because the previous transaction was not yet visible when the next 
AppendEntries request arrived. The async scheduling delay meant that concurrent 
AppendEntries requests checked the log state in 
checkInconsistentAppendEntries() before the previous append operation had 
completed, resulting in rejected appends. 



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

Reply via email to