This is an automated email from the ASF dual-hosted git repository.

alexr pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/mesos.git

commit 71b88f865efc031b31177cdd47325787a377ca41
Author: Benno Evers <[email protected]>
AuthorDate: Fri Aug 24 22:48:36 2018 +0200

    Replaced boost includes with stout equivalents.
    
    Replaces usages of `boost::circular_buffer` with the equivalent
    `circular_buffer` from stout in both master and slave.
    
    Review: https://reviews.apache.org/r/68503/
---
 src/master/master.hpp | 13 +++----------
 src/slave/slave.cpp   |  2 +-
 src/slave/slave.hpp   | 14 +++++---------
 3 files changed, 9 insertions(+), 20 deletions(-)

diff --git a/src/master/master.hpp b/src/master/master.hpp
index e2e9bbf..1e01dab 100644
--- a/src/master/master.hpp
+++ b/src/master/master.hpp
@@ -25,14 +25,6 @@
 #include <string>
 #include <vector>
 
-// Using `boost::circular_buffer::debug_iterator` can lead to segfaults
-// because they are not thread-safe (see MESOS-9177), so we must ensure
-// they're disabled. Both versions of this macro are needed to account
-// for differences between older and newer Boost versions.
-#define BOOST_CB_DISABLE_DEBUG 1
-#define BOOST_CB_ENABLE_DEBUG 0
-#include <boost/circular_buffer.hpp>
-
 #include <mesos/mesos.hpp>
 #include <mesos/resources.hpp>
 #include <mesos/type_utils.hpp>
@@ -62,6 +54,7 @@
 
 #include <stout/boundedhashmap.hpp>
 #include <stout/cache.hpp>
+#include <stout/circular_buffer.hpp>
 #include <stout/foreach.hpp>
 #include <stout/hashmap.hpp>
 #include <stout/hashset.hpp>
@@ -2483,9 +2476,9 @@ struct Framework
   // Tasks launched by this framework that have reached a terminal
   // state and have had all their updates acknowledged. We only keep a
   // fixed-size cache to avoid consuming too much memory. We use
-  // boost::circular_buffer rather than BoundedHashMap because there
+  // circular_buffer rather than BoundedHashMap because there
   // can be multiple completed tasks with the same task ID.
-  boost::circular_buffer<process::Owned<Task>> completedTasks;
+  circular_buffer<process::Owned<Task>> completedTasks;
 
   // When an agent is marked unreachable, tasks running on it are stored
   // here. We only keep a fixed-size cache to avoid consuming too much memory.
diff --git a/src/slave/slave.cpp b/src/slave/slave.cpp
index 679394a..e6c7e68 100644
--- a/src/slave/slave.cpp
+++ b/src/slave/slave.cpp
@@ -9516,7 +9516,7 @@ Executor::Executor(
       "Max completed tasks per executor should be greater than zero");
 
   completedTasks =
-    boost::circular_buffer<shared_ptr<Task>>(MAX_COMPLETED_TASKS_PER_EXECUTOR);
+    circular_buffer<shared_ptr<Task>>(MAX_COMPLETED_TASKS_PER_EXECUTOR);
 
   // TODO(jieyu): The way we determine if an executor is generated for
   // a command task (either command or docker executor) is really
diff --git a/src/slave/slave.hpp b/src/slave/slave.hpp
index 28d6590..b1d695b 100644
--- a/src/slave/slave.hpp
+++ b/src/slave/slave.hpp
@@ -24,11 +24,6 @@
 #include <string>
 #include <vector>
 
-// See comments in `master.hpp` or MESOS-9177.
-#define BOOST_CB_DISABLE_DEBUG 1
-#define BOOST_CB_ENABLE_DEBUG 0
-#include <boost/circular_buffer.hpp>
-
 #include <mesos/attributes.hpp>
 #include <mesos/resources.hpp>
 #include <mesos/type_utils.hpp>
@@ -60,6 +55,7 @@
 
 #include <stout/boundedhashmap.hpp>
 #include <stout/bytes.hpp>
+#include <stout/circular_buffer.hpp>
 #include <stout/linkedhashmap.hpp>
 #include <stout/hashmap.hpp>
 #include <stout/hashset.hpp>
@@ -1043,9 +1039,9 @@ public:
 
   // Terminated and updates acked.
   // NOTE: We use a shared pointer for Task because clang doesn't like
-  // Boost's implementation of circular_buffer with Task (Boost
-  // attempts to do some memset's which are unsafe).
-  boost::circular_buffer<std::shared_ptr<Task>> completedTasks;
+  // stout's implementation of circular_buffer with Task (the Boost code
+  // used internally by stout attempts to do some memset's which are unsafe).
+  circular_buffer<std::shared_ptr<Task>> completedTasks;
 
   // When the slave initiates a destroy of the container, we expect a
   // termination to occur. The 'pendingTermation' indicates why the
@@ -1173,7 +1169,7 @@ public:
   // Current running executors.
   hashmap<ExecutorID, Executor*> executors;
 
-  boost::circular_buffer<process::Owned<Executor>> completedExecutors;
+  circular_buffer<process::Owned<Executor>> completedExecutors;
 
 private:
   Framework(const Framework&) = delete;

Reply via email to