You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@mesos.apache.org by bm...@apache.org on 2018/03/09 20:41:11 UTC
[05/10] mesos git commit: Updated the master's status update handler
to avoid unnecessary copying.
Updated the master's status update handler to avoid unnecessary copying.
Previously, we took a copy in order to mutate the UUID within the
update if communicating with an agent prior to 0.26. We now no longer
need to copy the update.
Review: https://reviews.apache.org/r/65964
Project: http://git-wip-us.apache.org/repos/asf/mesos/repo
Commit: http://git-wip-us.apache.org/repos/asf/mesos/commit/0bbeac0c
Tree: http://git-wip-us.apache.org/repos/asf/mesos/tree/0bbeac0c
Diff: http://git-wip-us.apache.org/repos/asf/mesos/diff/0bbeac0c
Branch: refs/heads/master
Commit: 0bbeac0c821afa380af811b66aa541081cb33e22
Parents: a4e9695
Author: Benjamin Mahler <bm...@apache.org>
Authored: Wed Mar 7 19:12:35 2018 -0800
Committer: Benjamin Mahler <bm...@apache.org>
Committed: Fri Mar 9 12:36:13 2018 -0800
----------------------------------------------------------------------
src/master/master.cpp | 9 +++++----
src/master/master.hpp | 3 +--
2 files changed, 6 insertions(+), 6 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/mesos/blob/0bbeac0c/src/master/master.cpp
----------------------------------------------------------------------
diff --git a/src/master/master.cpp b/src/master/master.cpp
index 381be8e..c89179c 100644
--- a/src/master/master.cpp
+++ b/src/master/master.cpp
@@ -859,9 +859,7 @@ void Master::initialize()
&UnregisterSlaveMessage::slave_id);
install<StatusUpdateMessage>(
- &Master::statusUpdate,
- &StatusUpdateMessage::update,
- &StatusUpdateMessage::pid);
+ &Master::statusUpdate);
// Added in 0.24.0 to support HTTP schedulers. Since
// these do not have a pid, the slave must forward
@@ -7816,8 +7814,11 @@ void Master::updateUnavailability(
// because the status updates will be sent by the slave.
//
// TODO(vinod): Add a benchmark test for status update handling.
-void Master::statusUpdate(StatusUpdate update, const UPID& pid)
+void Master::statusUpdate(StatusUpdateMessage&& statusUpdateMessage)
{
+ const StatusUpdate& update = statusUpdateMessage.update();
+ const UPID& pid = statusUpdateMessage.pid();
+
CHECK_NE(pid, UPID());
++metrics->messages_status_update;
http://git-wip-us.apache.org/repos/asf/mesos/blob/0bbeac0c/src/master/master.hpp
----------------------------------------------------------------------
diff --git a/src/master/master.hpp b/src/master/master.hpp
index a97fd08..df021ea 100644
--- a/src/master/master.hpp
+++ b/src/master/master.hpp
@@ -482,8 +482,7 @@ public:
const SlaveID& slaveId);
void statusUpdate(
- StatusUpdate update,
- const process::UPID& pid);
+ StatusUpdateMessage&& statusUpdateMessage);
void reconcileTasks(
const process::UPID& from,