You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@ignite.apache.org by "Dmitriy Pavlov (JIRA)" <ji...@apache.org> on 2018/01/25 14:36:00 UTC

[jira] [Created] (IGNITE-7533) Throttle writting threads according fsync progress and checkpoint writting speed instead of region fill

Dmitriy Pavlov created IGNITE-7533:
--------------------------------------

             Summary: Throttle writting threads according fsync progress and checkpoint writting speed instead of region fill
                 Key: IGNITE-7533
                 URL: https://issues.apache.org/jira/browse/IGNITE-7533
             Project: Ignite
          Issue Type: Improvement
          Components: persistence
    Affects Versions: 2.3
            Reporter: Dmitriy Pavlov
            Assignee: Dmitriy Pavlov
             Fix For: 2.5
         Attachments: image (2).png

Throttling implemented under IGNITE-6334 is based on region fill percentage (ditry pages ratio) and current checkpoint progress.

But actual progress of writting is based on write operation complete, but not on fsync() complete.

Suppose following stage of CP is currently running: most of data is being written and fsync is started. Fsync on experiments requires more time than write, but throttling is disabled for that stage. There is enough time to unthrottled grid to fill remaining 16% of clear pages to get sufficient 75% of dirty pages and writes stops.

Fsync progress is to be included in checkpoint progress, but actual fsync progress reported by OS is irregular both on Linux and Windows. See picture, green line is fsync progress, and yellow is write complete.

Because fsync progress reported is not regular (the differences are 3-4 orders of magnitude) it is suggested to implement new speed based throttling policy.



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