You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@mesos.apache.org by "Chun-Hung Hsiao (JIRA)" <ji...@apache.org> on 2018/10/01 22:06:00 UTC

[jira] [Created] (MESOS-9281) SLRP got a stale checkpoint after agent reboot.

Chun-Hung Hsiao created MESOS-9281:
--------------------------------------

             Summary: SLRP got a stale checkpoint after agent reboot.
                 Key: MESOS-9281
                 URL: https://issues.apache.org/jira/browse/MESOS-9281
             Project: Mesos
          Issue Type: Improvement
          Components: storage
            Reporter: Chun-Hung Hsiao
            Assignee: Chun-Hung Hsiao


SLRP checkpoints a pending operations before issuing the corresponding CSI call through {{slave::state::checkpoint}}, which writes a new checkpoint to a temporary file then do a {{rename}}. However, because we don't do any {{fsync}}, {{rename}} is not atomic w.r.t. reboot. As a result, if the operation is processed during a reboot, it is possible that the CSI call has been executed, but the SLRP gets back a stale checkpoint after reboot and totally doesn't know about the operation.

To address this problem, we need to ensure the followings before issuing the CSI call:
1. The temp file is synced to the disk.
2. The rename is committed to the disk

A possible solution is to do an {{fsync}} after writing the temp file, and do another {{fsync}} on the checkpoint dir after the {{rename}}.



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