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 2013/12/06 00:37:08 UTC
[1/2] git commit: Fixed group to use 32 bit signed integers for
sequence numbers.
Updated Branches:
refs/heads/master cac2d3995 -> fa14ea423
Fixed group to use 32 bit signed integers for sequence numbers.
Review: https://reviews.apache.org/r/16045
Project: http://git-wip-us.apache.org/repos/asf/mesos/repo
Commit: http://git-wip-us.apache.org/repos/asf/mesos/commit/fa14ea42
Tree: http://git-wip-us.apache.org/repos/asf/mesos/tree/fa14ea42
Diff: http://git-wip-us.apache.org/repos/asf/mesos/diff/fa14ea42
Branch: refs/heads/master
Commit: fa14ea4232733167783d10c765b5975645a0b7d8
Parents: 081a1ab
Author: Benjamin Mahler <bm...@twitter.com>
Authored: Thu Dec 5 13:38:57 2013 -0800
Committer: Benjamin Mahler <bm...@twitter.com>
Committed: Thu Dec 5 15:03:58 2013 -0800
----------------------------------------------------------------------
src/zookeeper/group.cpp | 14 +++++++-------
src/zookeeper/group.hpp | 10 +++++-----
2 files changed, 12 insertions(+), 12 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/mesos/blob/fa14ea42/src/zookeeper/group.cpp
----------------------------------------------------------------------
diff --git a/src/zookeeper/group.cpp b/src/zookeeper/group.cpp
index 2ddc65e..5c92c5f 100644
--- a/src/zookeeper/group.cpp
+++ b/src/zookeeper/group.cpp
@@ -409,7 +409,7 @@ void GroupProcess::expired()
memberships = None();
// Set all owned memberships as cancelled.
- foreachpair (uint64_t sequence, Promise<bool>* cancelled, utils::copy(owned)) {
+ foreachpair (int32_t sequence, Promise<bool>* cancelled, utils::copy(owned)) {
cancelled->set(false); // Since this was not requested.
owned.erase(sequence); // Okay since iterating over a copy.
delete cancelled;
@@ -496,7 +496,7 @@ Result<Group::Membership> GroupProcess::doJoin(const string& data)
return Error("Failed to get the sequence number: " + basename.error());
}
- Try<uint64_t> sequence = numify<uint64_t>(basename.get());
+ Try<int32_t> sequence = numify<int32_t>(basename.get());
CHECK_SOME(sequence);
Promise<bool>* cancelled = new Promise<bool>();
@@ -598,10 +598,10 @@ Try<bool> GroupProcess::cache()
}
// Convert results to sequence numbers.
- set<uint64_t> sequences;
+ set<int32_t> sequences;
foreach (const string& result, results) {
- Try<uint64_t> sequence = numify<uint64_t>(result);
+ Try<int32_t> sequence = numify<int32_t>(result);
// Skip it if it couldn't be converted to a number.
if (sequence.isError()) {
@@ -616,7 +616,7 @@ Try<bool> GroupProcess::cache()
// Cache current memberships, cancelling those that are now missing.
set<Group::Membership> current;
- foreachpair (uint64_t sequence, Promise<bool>* cancelled, utils::copy(owned)) {
+ foreachpair (int32_t sequence, Promise<bool>* cancelled, utils::copy(owned)) {
if (sequences.count(sequence) == 0) {
cancelled->set(false);
owned.erase(sequence); // Okay since iterating over a copy.
@@ -627,7 +627,7 @@ Try<bool> GroupProcess::cache()
}
}
- foreachpair (uint64_t sequence, Promise<bool>* cancelled, utils::copy(unowned)) {
+ foreachpair (int32_t sequence, Promise<bool>* cancelled, utils::copy(unowned)) {
if (sequences.count(sequence) == 0) {
cancelled->set(false);
unowned.erase(sequence); // Okay since iterating over a copy.
@@ -639,7 +639,7 @@ Try<bool> GroupProcess::cache()
}
// Add any remaining (i.e., unexpected) sequences.
- foreach (uint64_t sequence, sequences) {
+ foreach (int32_t sequence, sequences) {
Promise<bool>* cancelled = new Promise<bool>();
unowned[sequence] = cancelled;
current.insert(Group::Membership(sequence, cancelled->future()));
http://git-wip-us.apache.org/repos/asf/mesos/blob/fa14ea42/src/zookeeper/group.hpp
----------------------------------------------------------------------
diff --git a/src/zookeeper/group.hpp b/src/zookeeper/group.hpp
index 27b2ee9..facfb1f 100644
--- a/src/zookeeper/group.hpp
+++ b/src/zookeeper/group.hpp
@@ -66,7 +66,7 @@ public:
return sequence >= that.sequence;
}
- uint64_t id() const
+ int32_t id() const
{
return sequence;
}
@@ -85,10 +85,10 @@ public:
private:
friend class GroupProcess; // Creates and manages memberships.
- Membership(uint64_t _sequence, const process::Future<bool>& cancelled)
+ Membership(int32_t _sequence, const process::Future<bool>& cancelled)
: sequence(_sequence), cancelled_(cancelled) {}
- uint64_t sequence;
+ const int32_t sequence;
process::Future<bool> cancelled_;
};
@@ -268,8 +268,8 @@ private:
// Expected ZooKeeper sequence numbers (either owned/created by this
// group instance or not) and the promise we associate with their
// "cancellation" (i.e., no longer part of the group).
- std::map<uint64_t, process::Promise<bool>*> owned;
- std::map<uint64_t, process::Promise<bool>*> unowned;
+ std::map<int32_t, process::Promise<bool>*> owned;
+ std::map<int32_t, process::Promise<bool>*> unowned;
// Cache of owned + unowned, where 'None' represents an invalid
// cache and 'Some' represents a valid cache.
[2/2] git commit: Fixed an exception raised in the master related to
task statuses.
Posted by bm...@apache.org.
Fixed an exception raised in the master related to task statuses.
Review: https://reviews.apache.org/r/16038
Project: http://git-wip-us.apache.org/repos/asf/mesos/repo
Commit: http://git-wip-us.apache.org/repos/asf/mesos/commit/081a1aba
Tree: http://git-wip-us.apache.org/repos/asf/mesos/tree/081a1aba
Diff: http://git-wip-us.apache.org/repos/asf/mesos/diff/081a1aba
Branch: refs/heads/master
Commit: 081a1aba1c330f4a0eb76cdc64d34eccad0c3611
Parents: cac2d39
Author: Benjamin Mahler <bm...@twitter.com>
Authored: Wed Dec 4 23:57:01 2013 -0800
Committer: Benjamin Mahler <bm...@twitter.com>
Committed: Thu Dec 5 15:03:58 2013 -0800
----------------------------------------------------------------------
src/master/master.cpp | 3 ++-
src/slave/slave.cpp | 3 ++-
2 files changed, 4 insertions(+), 2 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/mesos/blob/081a1aba/src/master/master.cpp
----------------------------------------------------------------------
diff --git a/src/master/master.cpp b/src/master/master.cpp
index b2b8db3..c610e49 100644
--- a/src/master/master.cpp
+++ b/src/master/master.cpp
@@ -1552,7 +1552,8 @@ void Master::statusUpdate(const StatusUpdate& update, const UPID& pid)
LOG(INFO) << "Status update " << update << " from " << pid;
// TODO(brenden) Consider wiping the `data` and `message` fields?
- if (task->state() == status.state()) {
+ if (task->statuses_size() > 0 &&
+ task->statuses(task->statuses_size() - 1).state() == task->state()) {
task->mutable_statuses()->RemoveLast();
}
task->add_statuses()->CopyFrom(status);
http://git-wip-us.apache.org/repos/asf/mesos/blob/081a1aba/src/slave/slave.cpp
----------------------------------------------------------------------
diff --git a/src/slave/slave.cpp b/src/slave/slave.cpp
index 75d9e5d..9a8b82f 100644
--- a/src/slave/slave.cpp
+++ b/src/slave/slave.cpp
@@ -3284,7 +3284,8 @@ void Executor::updateTaskState(const TaskStatus& status)
if (launchedTasks.contains(status.task_id())) {
Task* task = launchedTasks[status.task_id()];
// TODO(brenden): Consider wiping the `data` and `message` fields?
- if (task->state() == status.state()) {
+ if (task->statuses_size() > 0 &&
+ task->statuses(task->statuses_size() - 1).state() == task->state()) {
task->mutable_statuses()->RemoveLast();
}
task->add_statuses()->CopyFrom(status);