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

Ivan Rakov updated IGNITE-8057:
-------------------------------
    Summary: Execute WAL fsync preventively before checkpoint beginCheckpoint 
started  (was: Execute WAL fsync preventively before checkpoint begin)

> Execute WAL fsync preventively before checkpoint beginCheckpoint started
> ------------------------------------------------------------------------
>
>                 Key: IGNITE-8057
>                 URL: https://issues.apache.org/jira/browse/IGNITE-8057
>             Project: Ignite
>          Issue Type: Improvement
>    Affects Versions: 2.5
>            Reporter: Ivan Rakov
>            Priority: Major
>
> After fix of IGNITE-7754, we execute explicit WAL fsync on checkpoint begin:
> {noformat}
> if (hasPages) {
>     assert cpPtr != null;
>     tracker.onWalCpRecordFsyncStart();
>     // Sync log outside the checkpoint write lock.
>     cctx.wal().flush(cpPtr, true);
>     tracker.onWalCpRecordFsyncEnd();
> {noformat}
> It's executed outside of checkpoint write lock. However, it still can 
> decrease overall throughput by suspending writing of dirty pages by 
> checkpoint threads.
> We can decrease time of this fsync by executing it preemptevely, before 
> acquiring checkpoint write lock. 
> We should prioritize this ticket if value of walCpRecordFsyncDuration metric 
> in "Checkpoint started" message will be too big.
> Note: it's possible to give a fsync hint to WAL manager in single-writer mode.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to