You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@mesos.apache.org by jo...@apache.org on 2016/08/02 19:25:14 UTC

[3/3] mesos git commit: Removed `O_SYNC` from StatusUpdateManager.

Removed `O_SYNC` from StatusUpdateManager.

The StatusUpdateManager data is not recovered after reboot. This means
we can rely on flushes to the page cache to be sufficient for writing
status updates.

Review: https://reviews.apache.org/r/50635/


Project: http://git-wip-us.apache.org/repos/asf/mesos/repo
Commit: http://git-wip-us.apache.org/repos/asf/mesos/commit/d566536f
Tree: http://git-wip-us.apache.org/repos/asf/mesos/tree/d566536f
Diff: http://git-wip-us.apache.org/repos/asf/mesos/diff/d566536f

Branch: refs/heads/master
Commit: d566536f645ec73c41caa4ac90b232205a330a56
Parents: f291d50
Author: Joris Van Remoortere <jo...@gmail.com>
Authored: Tue Aug 2 11:33:08 2016 -0700
Committer: Joris Van Remoortere <jo...@gmail.com>
Committed: Tue Aug 2 11:33:08 2016 -0700

----------------------------------------------------------------------
 src/slave/status_update_manager.cpp | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/mesos/blob/d566536f/src/slave/status_update_manager.cpp
----------------------------------------------------------------------
diff --git a/src/slave/status_update_manager.cpp b/src/slave/status_update_manager.cpp
index 9d16e0d..9c67b85 100644
--- a/src/slave/status_update_manager.cpp
+++ b/src/slave/status_update_manager.cpp
@@ -676,9 +676,13 @@ StatusUpdateStream::StatusUpdateStream(
     }
 
     // Open the updates file.
+    // NOTE: We don't use `O_SYNC` here because we only read this file
+    // if the host did not crash. `os::write` success implies the kernel
+    // will have flushed our data to the page cache. This is sufficient
+    // for the recovery scenarios we use this data for.
     Try<int> result = os::open(
         path.get(),
-        O_CREAT | O_WRONLY | O_APPEND | O_SYNC | O_CLOEXEC,
+        O_CREAT | O_WRONLY | O_APPEND | O_CLOEXEC,
         S_IRUSR | S_IWUSR | S_IRGRP | S_IROTH);
 
     if (result.isError()) {