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)