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

Sergey Soldatov reassigned RATIS-2505:
--------------------------------------

    Assignee: Sergey Soldatov

> 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
>            Assignee: Sergey Soldatov
>            Priority: Major
>             Fix For: 3.2.2
>
>          Time Spent: 50m
>  Remaining Estimate: 0h
>
> 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