[
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)