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:13 UTC
[07/10] mesos git commit: Avoid copying scheduler->executor message
data in the master.
Avoid copying scheduler->executor message data in the master.
This avoids a copy of the scheduler->executor message for the
v0 message path in the master.
Review: https://reviews.apache.org/r/65972
Project: http://git-wip-us.apache.org/repos/asf/mesos/repo
Commit: http://git-wip-us.apache.org/repos/asf/mesos/commit/af1ae2b6
Tree: http://git-wip-us.apache.org/repos/asf/mesos/tree/af1ae2b6
Diff: http://git-wip-us.apache.org/repos/asf/mesos/diff/af1ae2b6
Branch: refs/heads/master
Commit: af1ae2b6dac9e2da92b50613b1ad0119255ca4d9
Parents: 53f253f
Author: Benjamin Mahler <bm...@apache.org>
Authored: Wed Mar 7 20:14:39 2018 -0800
Committer: Benjamin Mahler <bm...@apache.org>
Committed: Fri Mar 9 12:36:14 2018 -0800
----------------------------------------------------------------------
src/master/master.cpp | 23 +++++++++++------------
src/master/master.hpp | 5 +----
2 files changed, 12 insertions(+), 16 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/mesos/blob/af1ae2b6/src/master/master.cpp
----------------------------------------------------------------------
diff --git a/src/master/master.cpp b/src/master/master.cpp
index fd64c88..898893a 100644
--- a/src/master/master.cpp
+++ b/src/master/master.cpp
@@ -834,11 +834,7 @@ void Master::initialize()
&Master::statusUpdateAcknowledgement);
install<FrameworkToExecutorMessage>(
- &Master::schedulerMessage,
- &FrameworkToExecutorMessage::slave_id,
- &FrameworkToExecutorMessage::framework_id,
- &FrameworkToExecutorMessage::executor_id,
- &FrameworkToExecutorMessage::data);
+ &Master::schedulerMessage);
install<RegisterSlaveMessage>(
&Master::registerSlave);
@@ -5874,11 +5870,11 @@ void Master::acknowledgeOperationStatus(
void Master::schedulerMessage(
const UPID& from,
- const SlaveID& slaveId,
- const FrameworkID& frameworkId,
- const ExecutorID& executorId,
- const string& data)
+ FrameworkToExecutorMessage&& frameworkToExecutorMessage)
{
+ const FrameworkID& frameworkId = frameworkToExecutorMessage.framework_id();
+ const ExecutorID& executorId = frameworkToExecutorMessage.executor_id();
+
Framework* framework = getFramework(frameworkId);
if (framework == nullptr) {
@@ -5900,9 +5896,12 @@ void Master::schedulerMessage(
}
scheduler::Call::Message message_;
- message_.mutable_slave_id()->CopyFrom(slaveId);
- message_.mutable_executor_id()->CopyFrom(executorId);
- message_.set_data(data);
+ *message_.mutable_slave_id() =
+ std::move(*frameworkToExecutorMessage.mutable_slave_id());
+ *message_.mutable_executor_id() =
+ std::move(*frameworkToExecutorMessage.mutable_executor_id());
+ *message_.mutable_data() =
+ std::move(*frameworkToExecutorMessage.mutable_data());
message(framework, std::move(message_));
}
http://git-wip-us.apache.org/repos/asf/mesos/blob/af1ae2b6/src/master/master.hpp
----------------------------------------------------------------------
diff --git a/src/master/master.hpp b/src/master/master.hpp
index 65a1404..5738be9 100644
--- a/src/master/master.hpp
+++ b/src/master/master.hpp
@@ -451,10 +451,7 @@ public:
void schedulerMessage(
const process::UPID& from,
- const SlaveID& slaveId,
- const FrameworkID& frameworkId,
- const ExecutorID& executorId,
- const std::string& data);
+ FrameworkToExecutorMessage&& frameworkToExecutorMessage);
void executorMessage(
const process::UPID& from,