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:16 UTC
[10/10] mesos git commit: Avoid copying executor->scheduler message
data in the master.
Avoid copying executor->scheduler message data in the master.
This avoids a copy of the executor->scheduler message for the
v0 message path in the master.
Review: https://reviews.apache.org/r/65973
Project: http://git-wip-us.apache.org/repos/asf/mesos/repo
Commit: http://git-wip-us.apache.org/repos/asf/mesos/commit/9affb606
Tree: http://git-wip-us.apache.org/repos/asf/mesos/tree/9affb606
Diff: http://git-wip-us.apache.org/repos/asf/mesos/diff/9affb606
Branch: refs/heads/master
Commit: 9affb606d174abcb3f4e4dddfe20567d9316532f
Parents: af1ae2b
Author: Benjamin Mahler <bm...@apache.org>
Authored: Wed Mar 7 20:21:41 2018 -0800
Committer: Benjamin Mahler <bm...@apache.org>
Committed: Fri Mar 9 12:36:14 2018 -0800
----------------------------------------------------------------------
src/master/master.cpp | 27 ++++++++++++++-------------
src/master/master.hpp | 5 +----
2 files changed, 15 insertions(+), 17 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/mesos/blob/9affb606/src/master/master.cpp
----------------------------------------------------------------------
diff --git a/src/master/master.cpp b/src/master/master.cpp
index 898893a..f0f6e5b 100644
--- a/src/master/master.cpp
+++ b/src/master/master.cpp
@@ -853,11 +853,7 @@ void Master::initialize()
// these do not have a pid, the slave must forward
// messages through the master.
install<ExecutorToFrameworkMessage>(
- &Master::executorMessage,
- &ExecutorToFrameworkMessage::slave_id,
- &ExecutorToFrameworkMessage::framework_id,
- &ExecutorToFrameworkMessage::executor_id,
- &ExecutorToFrameworkMessage::data);
+ &Master::executorMessage);
install<ReconcileTasksMessage>(
&Master::reconcileTasks,
@@ -5909,11 +5905,12 @@ void Master::schedulerMessage(
void Master::executorMessage(
const UPID& from,
- const SlaveID& slaveId,
- const FrameworkID& frameworkId,
- const ExecutorID& executorId,
- const string& data)
+ ExecutorToFrameworkMessage&& executorToFrameworkMessage)
{
+ const SlaveID& slaveId = executorToFrameworkMessage.slave_id();
+ const FrameworkID& frameworkId = executorToFrameworkMessage.framework_id();
+ const ExecutorID& executorId = executorToFrameworkMessage.executor_id();
+
metrics->messages_executor_to_framework++;
if (slaves.removed.get(slaveId).isSome()) {
@@ -5955,10 +5952,14 @@ void Master::executorMessage(
}
ExecutorToFrameworkMessage message;
- message.mutable_slave_id()->MergeFrom(slaveId);
- message.mutable_framework_id()->MergeFrom(frameworkId);
- message.mutable_executor_id()->MergeFrom(executorId);
- message.set_data(data);
+ *message.mutable_slave_id() =
+ std::move(*executorToFrameworkMessage.mutable_slave_id());
+ *message.mutable_framework_id() =
+ std::move(*executorToFrameworkMessage.mutable_framework_id());
+ *message.mutable_executor_id() =
+ std::move(*executorToFrameworkMessage.mutable_executor_id());
+ *message.mutable_data() =
+ std::move(*executorToFrameworkMessage.mutable_data());
framework->send(message);
http://git-wip-us.apache.org/repos/asf/mesos/blob/9affb606/src/master/master.hpp
----------------------------------------------------------------------
diff --git a/src/master/master.hpp b/src/master/master.hpp
index 5738be9..8bf2c76 100644
--- a/src/master/master.hpp
+++ b/src/master/master.hpp
@@ -455,10 +455,7 @@ public:
void executorMessage(
const process::UPID& from,
- const SlaveID& slaveId,
- const FrameworkID& frameworkId,
- const ExecutorID& executorId,
- const std::string& data);
+ ExecutorToFrameworkMessage&& executorToFrameworkMessage);
void registerSlave(
const process::UPID& from,