[jira] [Created] (IGNITE-9612) Improve checkpoint mark phase speed.

classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

[jira] [Created] (IGNITE-9612) Improve checkpoint mark phase speed.

Anton Vinogradov (Jira)
Alexei Scherbakov created IGNITE-9612:
-----------------------------------------

             Summary: Improve checkpoint mark phase speed.
                 Key: IGNITE-9612
                 URL: https://issues.apache.org/jira/browse/IGNITE-9612
             Project: Ignite
          Issue Type: Improvement
            Reporter: Alexei Scherbakov
            Assignee: Alexei Scherbakov
             Fix For: 2.7


I'm observing regular slow checkpoints due to long mark duration, which is not related to dirty pages number:

{noformat}
2018-09-01 14:55:20.408 [INFO ][db-checkpoint-thread-#241%DPL_GRID%DplGridNodeName%][o.a.i.i.p.c.p.GridCacheDatabaseSharedManager] Checkpoint started [checkpointId=01e0c7bf-842f-4ed6-8589-b4904063434f, startPtr=FileWALPointer [idx=19814, fileOff=948996096, len=5233457],
checkpointLockWait=0ms, checkpointLockHoldTime=951ms, walCpRecordFsyncDuration=39ms, pages=78477, reason='timeout']
2018-09-01 14:55:21.307 [INFO ][db-checkpoint-thread-#241%DPL_GRID%DplGridNodeName%][o.a.i.i.p.c.p.GridCacheDatabaseSharedManager] Checkpoint finished [cpId=01e0c7bf-842f-4ed6-8589-b4904063434f, pages=78477, markPos=FileWALPointer [idx=19814, fileOff=948996096, len=5233457], walSegmentsCleared=0, walSegmentsCovered=[], *markDuration=1002m*s, pagesWrite=478ms, fsync=421ms, total=1901ms]
{noformat}

{noformat}
2018-09-01 14:58:20.355 [INFO ][db-checkpoint-thread-#241%DPL_GRID%DplGridNodeName%][o.a.i.i.p.c.p.GridCacheDatabaseSharedManager] Checkpoint started [checkpointId=09d1f4bc-d3f3-4a16-b291-89d7fa745ea5, startPtr=FileWALPointer [idx=19814, fileOff=1000024208, len=5233457], checkpointLockWait=0ms, checkpointLockHoldTime=926ms, walCpRecordFsyncDuration=14ms, pages=10837, reason='timeout']
2018-09-01 14:58:20.480 [INFO ][db-checkpoint-thread-#241%DPL_GRID%DplGridNodeName%][o.a.i.i.p.c.p.GridCacheDatabaseSharedManager] Checkpoint finished [cpId=09d1f4bc-d3f3-4a16-b291-89d7fa745ea5, pages=10837, markPos=FileWALPointer [idx=19814, fileOff=1000024208, len=5233457], walSegmentsCleared=0, walSegmentsCovered=[], *markDuration=943ms*, pagesWrite=64ms, fsync=61ms, total=1068ms]
{noformat}

Debugging has revealed what this is due to large amount of work required to save metadata for metapages and free/reuse lists. Because this is done under checkpoint write lock, all other activities are blocked, resulting in increased tx and atomic ops latency.

Simple solution: parallelize metadata processing during mark phase.

Best way to solve the problem is described in IGNITE-9520.






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