You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@mesos.apache.org by jo...@apache.org on 2015/09/17 00:43:58 UTC
[1/5] mesos git commit: Revert "Integer Precision for JSON <->
Protobuf conversions."
Repository: mesos
Updated Branches:
refs/heads/master 2c277f1c0 -> c68c3bd58
Revert "Integer Precision for JSON <-> Protobuf conversions."
This reverts commit 2c277f1c0e0dc0a6618ba930bb5f8d9dd753d4be.
Project: http://git-wip-us.apache.org/repos/asf/mesos/repo
Commit: http://git-wip-us.apache.org/repos/asf/mesos/commit/ceb832b1
Tree: http://git-wip-us.apache.org/repos/asf/mesos/tree/ceb832b1
Diff: http://git-wip-us.apache.org/repos/asf/mesos/diff/ceb832b1
Branch: refs/heads/master
Commit: ceb832b10ba99b16aa6f69825805aebd36da9092
Parents: 2c277f1
Author: Joris Van Remoortere <jo...@gmail.com>
Authored: Wed Sep 16 18:42:28 2015 -0400
Committer: Joris Van Remoortere <jo...@gmail.com>
Committed: Wed Sep 16 18:42:28 2015 -0400
----------------------------------------------------------------------
src/docker/docker.cpp | 3 +-
.../provisioners/docker/token_manager.cpp | 3 +-
src/tests/fault_tolerance_tests.cpp | 2 +-
src/tests/master_tests.cpp | 2 +-
src/tests/monitor_tests.cpp | 50 ++++++---
src/tests/rate_limiting_tests.cpp | 106 ++++++-------------
src/tests/slave_tests.cpp | 2 +-
7 files changed, 75 insertions(+), 93 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/mesos/blob/ceb832b1/src/docker/docker.cpp
----------------------------------------------------------------------
diff --git a/src/docker/docker.cpp b/src/docker/docker.cpp
index afcedf1..c4c37cb 100755
--- a/src/docker/docker.cpp
+++ b/src/docker/docker.cpp
@@ -236,7 +236,6 @@ Try<Nothing> Docker::validateVersion(const Version& minVersion) const
}
-// TODO(josephw): Parse this string with a protobuf.
Try<Docker::Container> Docker::Container::create(const string& output)
{
Try<JSON::Array> parse = JSON::parse<JSON::Array>(output);
@@ -287,7 +286,7 @@ Try<Docker::Container> Docker::Container::create(const string& output)
return Error("Error finding Pid in State: " + pidValue.error());
}
- pid_t pid = pid_t(pidValue.get().as<int64_t>());
+ pid_t pid = pid_t(pidValue.get().value);
Option<pid_t> optionalPid;
if (pid != 0) {
http://git-wip-us.apache.org/repos/asf/mesos/blob/ceb832b1/src/slave/containerizer/provisioners/docker/token_manager.cpp
----------------------------------------------------------------------
diff --git a/src/slave/containerizer/provisioners/docker/token_manager.cpp b/src/slave/containerizer/provisioners/docker/token_manager.cpp
index 95f459d..aec915f 100644
--- a/src/slave/containerizer/provisioners/docker/token_manager.cpp
+++ b/src/slave/containerizer/provisioners/docker/token_manager.cpp
@@ -122,7 +122,6 @@ Token::Token(
notBefore(_notBefore) {}
-// TODO(josephw): Parse this string with some protobufs.
Try<Token> Token::create(const string& raw)
{
auto decode = [](
@@ -197,7 +196,7 @@ Result<Time> Token::getTimeValue(const JSON::Object& object, const string& key)
// If expiration is provided, we will process it for future validations.
if (jsonValue.isSome()) {
- Try<Time> time = Time::create(jsonValue.get().as<double>());
+ Try<Time> time = Time::create(jsonValue.get().value);
if (time.isError()) {
return Error("Failed to decode time: " + time.error());
}
http://git-wip-us.apache.org/repos/asf/mesos/blob/ceb832b1/src/tests/fault_tolerance_tests.cpp
----------------------------------------------------------------------
diff --git a/src/tests/fault_tolerance_tests.cpp b/src/tests/fault_tolerance_tests.cpp
index c97bc46..061e099 100644
--- a/src/tests/fault_tolerance_tests.cpp
+++ b/src/tests/fault_tolerance_tests.cpp
@@ -1918,7 +1918,7 @@ TEST_F(FaultToleranceTest, UpdateFrameworkInfoOnSchedulerFailover)
EXPECT_EQ(1u, framework.values.count("failover_timeout"));
JSON::Number failoverTimeout =
framework.values["failover_timeout"].as<JSON::Number>();
- EXPECT_EQ(finfo2.failover_timeout(), failoverTimeout.as<double>());
+ EXPECT_EQ(finfo2.failover_timeout(), failoverTimeout.value);
EXPECT_EQ(1u, framework.values.count("hostname"));
JSON::String hostname = framework.values["hostname"].as<JSON::String>();
http://git-wip-us.apache.org/repos/asf/mesos/blob/ceb832b1/src/tests/master_tests.cpp
----------------------------------------------------------------------
diff --git a/src/tests/master_tests.cpp b/src/tests/master_tests.cpp
index e4c89ab..dd65fcc 100644
--- a/src/tests/master_tests.cpp
+++ b/src/tests/master_tests.cpp
@@ -2826,7 +2826,7 @@ TEST_F(MasterTest, StateEndpoint)
ASSERT_TRUE(state.values["start_time"].is<JSON::Number>());
EXPECT_EQ(
static_cast<int>(Clock::now().secs()),
- state.values["start_time"].as<JSON::Number>().as<int>());
+ static_cast<int>(state.values["start_time"].as<JSON::Number>().value));
ASSERT_TRUE(state.values["id"].is<JSON::String>());
EXPECT_NE("", state.values["id"].as<JSON::String>().value);
http://git-wip-us.apache.org/repos/asf/mesos/blob/ceb832b1/src/tests/monitor_tests.cpp
----------------------------------------------------------------------
diff --git a/src/tests/monitor_tests.cpp b/src/tests/monitor_tests.cpp
index 583e711..f404955 100644
--- a/src/tests/monitor_tests.cpp
+++ b/src/tests/monitor_tests.cpp
@@ -106,18 +106,44 @@ TEST(MonitorTest, Statistics)
"Content-Type",
response);
- JSON::Array expected;
- JSON::Object usage;
- usage.values["executor_id"] = "executor";
- usage.values["executor_name"] = "name";
- usage.values["framework_id"] = "framework";
- usage.values["source"] = "source";
- usage.values["statistics"] = JSON::Protobuf(statistics);
- expected.values.push_back(usage);
-
- Try<JSON::Array> result = JSON::parse<JSON::Array>(response.get().body);
- ASSERT_SOME(result);
- ASSERT_EQ(expected, result.get());
+ // TODO(bmahler): Use JSON equality instead to avoid having to use
+ // numeric limits for double precision.
+ AWAIT_EXPECT_RESPONSE_BODY_EQ(
+ strings::format(
+ "[{"
+ "\"executor_id\":\"executor\","
+ "\"executor_name\":\"name\","
+ "\"framework_id\":\"framework\","
+ "\"source\":\"source\","
+ "\"statistics\":{"
+ "\"cpus_limit\":%g,"
+ "\"cpus_nr_periods\":%d,"
+ "\"cpus_nr_throttled\":%d,"
+ "\"cpus_system_time_secs\":%g,"
+ "\"cpus_throttled_time_secs\":%g,"
+ "\"cpus_user_time_secs\":%g,"
+ "\"mem_anon_bytes\":%lu,"
+ "\"mem_file_bytes\":%lu,"
+ "\"mem_limit_bytes\":%lu,"
+ "\"mem_mapped_file_bytes\":%lu,"
+ "\"mem_rss_bytes\":%lu,"
+ "\"timestamp\":"
+ "%." + stringify(numeric_limits<double>::digits10) + "g"
+ "}"
+ "}]",
+ statistics.cpus_limit(),
+ statistics.cpus_nr_periods(),
+ statistics.cpus_nr_throttled(),
+ statistics.cpus_system_time_secs(),
+ statistics.cpus_throttled_time_secs(),
+ statistics.cpus_user_time_secs(),
+ statistics.mem_anon_bytes(),
+ statistics.mem_file_bytes(),
+ statistics.mem_limit_bytes(),
+ statistics.mem_mapped_file_bytes(),
+ statistics.mem_rss_bytes(),
+ statistics.timestamp()).get(),
+ response);
}
http://git-wip-us.apache.org/repos/asf/mesos/blob/ceb832b1/src/tests/rate_limiting_tests.cpp
----------------------------------------------------------------------
diff --git a/src/tests/rate_limiting_tests.cpp b/src/tests/rate_limiting_tests.cpp
index e512aa6..f3aedde 100644
--- a/src/tests/rate_limiting_tests.cpp
+++ b/src/tests/rate_limiting_tests.cpp
@@ -166,16 +166,12 @@ TEST_F(RateLimitingTest, NoRateLimiting)
const string& messages_received =
"frameworks/" + DEFAULT_CREDENTIAL.principal() + "/messages_received";
EXPECT_EQ(1u, metrics.values.count(messages_received));
- EXPECT_EQ(
- 1,
- metrics.values[messages_received].as<JSON::Number>().as<int64_t>());
+ EXPECT_EQ(1, metrics.values[messages_received].as<JSON::Number>().value);
const string& messages_processed =
"frameworks/" + DEFAULT_CREDENTIAL.principal() + "/messages_processed";
EXPECT_EQ(1u, metrics.values.count(messages_processed));
- EXPECT_EQ(
- 1,
- metrics.values[messages_processed].as<JSON::Number>().as<int64_t>());
+ EXPECT_EQ(1, metrics.values[messages_processed].as<JSON::Number>().value);
}
Future<Nothing> removeFramework =
@@ -274,16 +270,12 @@ TEST_F(RateLimitingTest, RateLimitingEnabled)
const string& messages_received =
"frameworks/" + DEFAULT_CREDENTIAL.principal() + "/messages_received";
EXPECT_EQ(1u, metrics.values.count(messages_received));
- EXPECT_EQ(
- 1,
- metrics.values[messages_received].as<JSON::Number>().as<int64_t>());
+ EXPECT_EQ(1, metrics.values[messages_received].as<JSON::Number>().value);
const string& messages_processed =
"frameworks/" + DEFAULT_CREDENTIAL.principal() + "/messages_processed";
EXPECT_EQ(1u, metrics.values.count(messages_processed));
- EXPECT_EQ(
- 1,
- metrics.values[messages_processed].as<JSON::Number>().as<int64_t>());
+ EXPECT_EQ(1, metrics.values[messages_processed].as<JSON::Number>().value);
}
// The 2nd message is throttled for a second.
@@ -313,12 +305,8 @@ TEST_F(RateLimitingTest, RateLimitingEnabled)
// The 2nd message is received and but not processed after half
// a second because of throttling.
- EXPECT_EQ(
- 2,
- metrics.values[messages_received].as<JSON::Number>().as<int64_t>());
- EXPECT_EQ(
- 1,
- metrics.values[messages_processed].as<JSON::Number>().as<int64_t>());
+ EXPECT_EQ(2, metrics.values[messages_received].as<JSON::Number>().value);
+ EXPECT_EQ(1, metrics.values[messages_processed].as<JSON::Number>().value);
EXPECT_TRUE(duplicateFrameworkRegisteredMessage.isPending());
}
@@ -336,10 +324,8 @@ TEST_F(RateLimitingTest, RateLimitingEnabled)
"frameworks/" + DEFAULT_CREDENTIAL.principal() + "/messages_processed";
EXPECT_EQ(1u, metrics.values.count(messages_processed));
- EXPECT_EQ(
- 2, metrics.values[messages_received].as<JSON::Number>().as<int64_t>());
- EXPECT_EQ(
- 2, metrics.values[messages_processed].as<JSON::Number>().as<int64_t>());
+ EXPECT_EQ(2, metrics.values[messages_received].as<JSON::Number>().value);
+ EXPECT_EQ(2, metrics.values[messages_processed].as<JSON::Number>().value);
EXPECT_EQ(DRIVER_STOPPED, driver.stop());
EXPECT_EQ(DRIVER_STOPPED, driver.join());
@@ -495,19 +481,19 @@ TEST_F(RateLimitingTest, DifferentPrincipalFrameworks)
EXPECT_EQ(
2,
metrics.values["frameworks/framework1/messages_received"]
- .as<JSON::Number>().as<int64_t>());
+ .as<JSON::Number>().value);
EXPECT_EQ(
2,
metrics.values["frameworks/framework2/messages_received"]
- .as<JSON::Number>().as<int64_t>());
+ .as<JSON::Number>().value);
EXPECT_EQ(
1,
metrics.values["frameworks/framework1/messages_processed"]
- .as<JSON::Number>().as<int64_t>());
+ .as<JSON::Number>().value);
EXPECT_EQ(
1,
metrics.values["frameworks/framework2/messages_processed"]
- .as<JSON::Number>().as<int64_t>());
+ .as<JSON::Number>().value);
}
// Advance for a second so the message from framework1 (1qps)
@@ -522,11 +508,11 @@ TEST_F(RateLimitingTest, DifferentPrincipalFrameworks)
EXPECT_EQ(
2,
metrics.values["frameworks/framework1/messages_processed"]
- .as<JSON::Number>().as<int64_t>());
+ .as<JSON::Number>().value);
EXPECT_EQ(
1,
metrics.values["frameworks/framework2/messages_processed"]
- .as<JSON::Number>().as<int64_t>());
+ .as<JSON::Number>().value);
// After another half a second framework2 (0.2qps)'s message is
// processed as well.
@@ -549,19 +535,19 @@ TEST_F(RateLimitingTest, DifferentPrincipalFrameworks)
EXPECT_EQ(
2,
metrics.values["frameworks/framework1/messages_received"]
- .as<JSON::Number>().as<int64_t>());
+ .as<JSON::Number>().value);
EXPECT_EQ(
2,
metrics.values["frameworks/framework2/messages_received"]
- .as<JSON::Number>().as<int64_t>());
+ .as<JSON::Number>().value);
EXPECT_EQ(
2,
metrics.values["frameworks/framework1/messages_processed"]
- .as<JSON::Number>().as<int64_t>());
+ .as<JSON::Number>().value);
EXPECT_EQ(
2,
metrics.values["frameworks/framework2/messages_processed"]
- .as<JSON::Number>().as<int64_t>());
+ .as<JSON::Number>().value);
}
// 3. Remove a framework and its message counters are deleted while
@@ -719,16 +705,12 @@ TEST_F(RateLimitingTest, SamePrincipalFrameworks)
const string& messages_received =
"frameworks/" + DEFAULT_CREDENTIAL.principal() + "/messages_received";
EXPECT_EQ(1u, metrics.values.count(messages_received));
- EXPECT_EQ(
- 2,
- metrics.values[messages_received].as<JSON::Number>().as<int64_t>());
+ EXPECT_EQ(2, metrics.values[messages_received].as<JSON::Number>().value);
const string& messages_processed =
"frameworks/" + DEFAULT_CREDENTIAL.principal() + "/messages_processed";
EXPECT_EQ(1u, metrics.values.count(messages_processed));
- EXPECT_EQ(
- 1,
- metrics.values[messages_processed].as<JSON::Number>().as<int64_t>());
+ EXPECT_EQ(1, metrics.values[messages_processed].as<JSON::Number>().value);
}
// Advance for another half a second to make sure throttled
@@ -846,16 +828,12 @@ TEST_F(RateLimitingTest, SchedulerFailover)
const string& messages_received =
"frameworks/" + DEFAULT_CREDENTIAL.principal() + "/messages_received";
EXPECT_EQ(1u, metrics.values.count(messages_received));
- EXPECT_EQ(
- 1,
- metrics.values[messages_received].as<JSON::Number>().as<int64_t>());
+ EXPECT_EQ(1, metrics.values[messages_received].as<JSON::Number>().value);
const string& messages_processed =
"frameworks/" + DEFAULT_CREDENTIAL.principal() + "/messages_processed";
EXPECT_EQ(1u, metrics.values.count(messages_processed));
- EXPECT_EQ(
- 1,
- metrics.values[messages_processed].as<JSON::Number>().as<int64_t>());
+ EXPECT_EQ(1, metrics.values[messages_processed].as<JSON::Number>().value);
}
// 2. Now launch the second (i.e., failover) scheduler using the
@@ -920,16 +898,12 @@ TEST_F(RateLimitingTest, SchedulerFailover)
const string& messages_received =
"frameworks/" + DEFAULT_CREDENTIAL.principal() + "/messages_received";
EXPECT_EQ(1u, metrics.values.count(messages_received));
- EXPECT_EQ(
- 2,
- metrics.values[messages_received].as<JSON::Number>().as<int64_t>());
+ EXPECT_EQ(2, metrics.values[messages_received].as<JSON::Number>().value);
const string& messages_processed =
"frameworks/" + DEFAULT_CREDENTIAL.principal() + "/messages_processed";
EXPECT_EQ(1u, metrics.values.count(messages_processed));
- EXPECT_EQ(
- 1,
- metrics.values[messages_processed].as<JSON::Number>().as<int64_t>());
+ EXPECT_EQ(1, metrics.values[messages_processed].as<JSON::Number>().value);
}
// Need another half a second to have it processed.
@@ -948,16 +922,12 @@ TEST_F(RateLimitingTest, SchedulerFailover)
const string& messages_received =
"frameworks/" + DEFAULT_CREDENTIAL.principal() + "/messages_received";
EXPECT_EQ(1u, metrics.values.count(messages_received));
- EXPECT_EQ(
- 2,
- metrics.values[messages_received].as<JSON::Number>().as<int64_t>());
+ EXPECT_EQ(2, metrics.values[messages_received].as<JSON::Number>().value);
const string& messages_processed =
"frameworks/" + DEFAULT_CREDENTIAL.principal() + "/messages_processed";
EXPECT_EQ(1u, metrics.values.count(messages_processed));
- EXPECT_EQ(
- 2,
- metrics.values[messages_processed].as<JSON::Number>().as<int64_t>());
+ EXPECT_EQ(2, metrics.values[messages_processed].as<JSON::Number>().value);
}
EXPECT_EQ(DRIVER_STOPPED, driver2.stop());
@@ -1042,16 +1012,12 @@ TEST_F(RateLimitingTest, CapacityReached)
const string& messages_received =
"frameworks/" + DEFAULT_CREDENTIAL.principal() + "/messages_received";
EXPECT_EQ(1u, metrics.values.count(messages_received));
- EXPECT_EQ(
- 1,
- metrics.values[messages_received].as<JSON::Number>().as<int64_t>());
+ EXPECT_EQ(1, metrics.values[messages_received].as<JSON::Number>().value);
const string& messages_processed =
"frameworks/" + DEFAULT_CREDENTIAL.principal() + "/messages_processed";
EXPECT_EQ(1u, metrics.values.count(messages_processed));
- EXPECT_EQ(
- 1,
- metrics.values[messages_processed].as<JSON::Number>().as<int64_t>());
+ EXPECT_EQ(1, metrics.values[messages_processed].as<JSON::Number>().value);
}
// The subsequent messages are going to be throttled.
@@ -1098,16 +1064,12 @@ TEST_F(RateLimitingTest, CapacityReached)
const string& messages_received =
"frameworks/" + DEFAULT_CREDENTIAL.principal() + "/messages_received";
EXPECT_EQ(1u, metrics.values.count(messages_received));
- EXPECT_EQ(
- 5,
- metrics.values[messages_received].as<JSON::Number>().as<int64_t>());
+ EXPECT_EQ(5, metrics.values[messages_received].as<JSON::Number>().value);
const string& messages_processed =
"frameworks/" + DEFAULT_CREDENTIAL.principal() + "/messages_processed";
EXPECT_EQ(1u, metrics.values.count(messages_processed));
// Four messages not processed, two in the queue and two dropped.
- EXPECT_EQ(
- 1,
- metrics.values[messages_processed].as<JSON::Number>().as<int64_t>());
+ EXPECT_EQ(1, metrics.values[messages_processed].as<JSON::Number>().value);
}
// Advance three times for the two pending messages and the exited
@@ -1124,16 +1086,12 @@ TEST_F(RateLimitingTest, CapacityReached)
const string& messages_received =
"frameworks/" + DEFAULT_CREDENTIAL.principal() + "/messages_received";
EXPECT_EQ(1u, metrics.values.count(messages_received));
- EXPECT_EQ(
- 5,
- metrics.values[messages_received].as<JSON::Number>().as<int64_t>());
+ EXPECT_EQ(5, metrics.values[messages_received].as<JSON::Number>().value);
const string& messages_processed =
"frameworks/" + DEFAULT_CREDENTIAL.principal() + "/messages_processed";
EXPECT_EQ(1u, metrics.values.count(messages_processed));
// Two messages are dropped.
- EXPECT_EQ(
- 3,
- metrics.values[messages_processed].as<JSON::Number>().as<int64_t>());
+ EXPECT_EQ(3, metrics.values[messages_processed].as<JSON::Number>().value);
Shutdown();
}
http://git-wip-us.apache.org/repos/asf/mesos/blob/ceb832b1/src/tests/slave_tests.cpp
----------------------------------------------------------------------
diff --git a/src/tests/slave_tests.cpp b/src/tests/slave_tests.cpp
index dbe9b1d..447c43c 100644
--- a/src/tests/slave_tests.cpp
+++ b/src/tests/slave_tests.cpp
@@ -1080,7 +1080,7 @@ TEST_F(SlaveTest, StateEndpoint)
ASSERT_TRUE(state.values["start_time"].is<JSON::Number>());
EXPECT_EQ(
static_cast<int>(Clock::now().secs()),
- state.values["start_time"].as<JSON::Number>().as<int>());
+ static_cast<int>(state.values["start_time"].as<JSON::Number>().value));
// TODO(bmahler): The slave must register for the 'id'
// to be non-empty.
[3/5] mesos git commit: Revert "Integer Precision for JSON <->
Protobuf conversions."
Posted by jo...@apache.org.
Revert "Integer Precision for JSON <-> Protobuf conversions."
This reverts commit 4807db6ceb7fafe59c28cbcfb31334ca7061dd59.
Project: http://git-wip-us.apache.org/repos/asf/mesos/repo
Commit: http://git-wip-us.apache.org/repos/asf/mesos/commit/f8703752
Tree: http://git-wip-us.apache.org/repos/asf/mesos/tree/f8703752
Diff: http://git-wip-us.apache.org/repos/asf/mesos/diff/f8703752
Branch: refs/heads/master
Commit: f8703752995a1a538cc9cd13a55666587c492d96
Parents: fa80dcb
Author: Joris Van Remoortere <jo...@gmail.com>
Authored: Wed Sep 16 18:42:50 2015 -0400
Committer: Joris Van Remoortere <jo...@gmail.com>
Committed: Wed Sep 16 18:42:50 2015 -0400
----------------------------------------------------------------------
.../3rdparty/stout/include/stout/json.hpp | 157 ++-----------------
.../3rdparty/stout/include/stout/protobuf.hpp | 54 +++++--
.../3rdparty/stout/tests/json_tests.cpp | 74 +++------
.../3rdparty/stout/tests/protobuf_tests.cpp | 82 +---------
4 files changed, 78 insertions(+), 289 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/mesos/blob/f8703752/3rdparty/libprocess/3rdparty/stout/include/stout/json.hpp
----------------------------------------------------------------------
diff --git a/3rdparty/libprocess/3rdparty/stout/include/stout/json.hpp b/3rdparty/libprocess/3rdparty/stout/include/stout/json.hpp
index 6e667a1..f28138c 100644
--- a/3rdparty/libprocess/3rdparty/stout/include/stout/json.hpp
+++ b/3rdparty/libprocess/3rdparty/stout/include/stout/json.hpp
@@ -21,7 +21,6 @@
#include <limits>
#include <map>
#include <string>
-#include <type_traits>
#include <vector>
#include <boost/type_traits/is_arithmetic.hpp>
@@ -73,71 +72,11 @@ struct String
};
-// NOTE: Due to how PicoJson parses unsigned integers, a roundtrip from Number
-// to JSON and back to Number will result in:
-// - a signed integer, if the value is less than or equal to INT64_MAX;
-// - or a double, if the value is greater than INT64_MAX.
-// See: https://github.com/kazuho/picojson/blob/rel/v1.3.0/picojson.h#L777-L781
struct Number
{
Number() : value(0) {}
-
- template <typename T>
- Number(
- T _value,
- typename std::enable_if<std::is_floating_point<T>::value, int>::type = 0)
- : type(FLOATING), value(_value) {}
-
- template <typename T>
- Number(
- T _value,
- typename std::enable_if<
- std::is_integral<T>::value && std::is_signed<T>::value,
- int>::type = 0)
- : type(SIGNED_INTEGER), signed_integer(_value) {}
-
- template <typename T>
- Number(
- T _value,
- typename std::enable_if<
- std::is_integral<T>::value && std::is_unsigned<T>::value,
- int>::type = 0)
- : type(UNSIGNED_INTEGER), unsigned_integer(_value) {}
-
- template <typename T>
- T as() const
- {
- switch (type) {
- case FLOATING:
- return static_cast<T>(value);
- case SIGNED_INTEGER:
- return static_cast<T>(signed_integer);
- case UNSIGNED_INTEGER:
- return static_cast<T>(unsigned_integer);
-
- // NOTE: By not setting a default we leverage the compiler
- // errors when the enumeration is augmented to find all
- // the cases we need to provide.
- }
- }
-
- enum Type
- {
- FLOATING,
- SIGNED_INTEGER,
- UNSIGNED_INTEGER,
- } type;
-
-private:
- friend struct Value;
- friend struct Comparator;
- friend std::ostream& operator<<(std::ostream& stream, const Number& number);
-
- union {
- double value;
- int64_t signed_integer;
- uint64_t unsigned_integer;
- };
+ Number(double _value) : value(_value) {}
+ double value;
};
@@ -268,8 +207,6 @@ struct Value : internal::Variant
bool contains(const Value& other) const;
private:
- friend struct Comparator;
-
// A class which follows the visitor pattern and implements the
// containment rules described in the documentation of 'contains'.
// See 'bool Value::contains(const Value& other) const'.
@@ -320,6 +257,7 @@ inline const Value& Value::as<Value>() const
}
+
template <typename T>
Result<T> Object::find(const std::string& path) const
{
@@ -446,53 +384,7 @@ inline bool Value::ContainmentComparator::operator()(const Number& other) const
if (!self.is<Number>()) {
return false;
}
-
- // NOTE: For the following switch statements, we do not set a default
- // case in order to leverage the compiler errors when the enumeration
- // is augmented to find all the cases we need to provide.
-
- // NOTE: Using '==' is unsafe for unsigned-signed integer comparisons.
- // The compiler will automatically cast the signed integer to an
- // unsigned integer. i.e. If the signed integer was negative, it
- // might be converted to a large positive number.
- // Using the '==' operator *is* safe for double-integer comparisons.
-
- const Number& number = self.as<Number>();
- switch (number.type) {
- case Number::FLOATING:
- switch (other.type) {
- case Number::FLOATING:
- return number.value == other.value;
- case Number::SIGNED_INTEGER:
- return number.value == other.signed_integer;
- case Number::UNSIGNED_INTEGER:
- return number.value == other.unsigned_integer;
- }
-
- case Number::SIGNED_INTEGER:
- switch (other.type) {
- case Number::FLOATING:
- return number.signed_integer == other.value;
- case Number::SIGNED_INTEGER:
- return number.signed_integer == other.signed_integer;
- case Number::UNSIGNED_INTEGER:
- // See note above for why this is not a simple '==' expression.
- return number.signed_integer >= 0 &&
- number.as<uint64_t>() == other.unsigned_integer;
- }
-
- case Number::UNSIGNED_INTEGER:
- switch (other.type) {
- case Number::FLOATING:
- return number.unsigned_integer == other.value;
- case Number::SIGNED_INTEGER:
- // See note above for why this is not a simple '==' expression.
- return other.signed_integer >= 0 &&
- number.unsigned_integer == other.as<uint64_t>();
- case Number::UNSIGNED_INTEGER:
- return number.unsigned_integer == other.unsigned_integer;
- }
- }
+ return self.as<Number>().value == other.value;
}
@@ -554,11 +446,12 @@ struct Comparator : boost::static_visitor<bool>
return false;
}
- bool operator()(const Number& other) const
+ bool operator()(const Number& number) const
{
- // Delegate to the containment comparator.
- // See Value::ContainmentComparator::operator(Number).
- return Value::ContainmentComparator(value)(other);
+ if (value.is<Number>()) {
+ return value.as<Number>().value == number.value;
+ }
+ return false;
}
bool operator()(const Array& array) const
@@ -609,32 +502,10 @@ inline std::ostream& operator<<(std::ostream& out, const String& string)
inline std::ostream& operator<<(std::ostream& out, const Number& number)
{
- switch (number.type) {
- case Number::FLOATING: {
- // Prints a floating point value, with the specified precision, see:
- // http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2006/n2005.pdf
- // Additionally ensures that a decimal point is in the output.
- char buffer[50] {}; // More than long enough for the specified precision.
- snprintf(
- buffer,
- sizeof(buffer),
- "%#.*g",
- std::numeric_limits<double>::digits10,
- number.value);
-
- // Get rid of trailing zeroes before outputting.
- // Otherwise, printing 1.0 would result in "1.00000000000000".
- return out << strings::trim(buffer, strings::SUFFIX, "0");
- }
- case Number::SIGNED_INTEGER:
- return out << number.signed_integer;
- case Number::UNSIGNED_INTEGER:
- return out << number.unsigned_integer;
-
- // NOTE: By not setting a default we leverage the compiler
- // errors when the enumeration is augmented to find all
- // the cases we need to provide.
- }
+ // Use the guaranteed accurate precision, see:
+ // http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2006/n2005.pdf
+ return out << std::setprecision(std::numeric_limits<double>::digits10)
+ << number.value;
}
@@ -704,8 +575,6 @@ inline Value convert(const picojson::value& value)
array.values.push_back(convert(value));
}
return array;
- } else if (value.is<int64_t>()) {
- return Number(value.get<int64_t>());
} else if (value.is<double>()) {
return Number(value.get<double>());
} else if (value.is<std::string>()) {
http://git-wip-us.apache.org/repos/asf/mesos/blob/f8703752/3rdparty/libprocess/3rdparty/stout/include/stout/protobuf.hpp
----------------------------------------------------------------------
diff --git a/3rdparty/libprocess/3rdparty/stout/include/stout/protobuf.hpp b/3rdparty/libprocess/3rdparty/stout/include/stout/protobuf.hpp
index 2285ce9..115cc0c 100644
--- a/3rdparty/libprocess/3rdparty/stout/include/stout/protobuf.hpp
+++ b/3rdparty/libprocess/3rdparty/stout/include/stout/protobuf.hpp
@@ -391,50 +391,80 @@ struct Parser : boost::static_visitor<Try<Nothing> >
switch (field->type()) {
case google::protobuf::FieldDescriptor::TYPE_DOUBLE:
if (field->is_repeated()) {
- reflection->AddDouble(message, field, number.as<double>());
+ reflection->AddDouble(message, field, number.value);
} else {
- reflection->SetDouble(message, field, number.as<double>());
+ reflection->SetDouble(message, field, number.value);
}
break;
case google::protobuf::FieldDescriptor::TYPE_FLOAT:
if (field->is_repeated()) {
- reflection->AddFloat(message, field, number.as<float>());
+ reflection->AddFloat(
+ message,
+ field,
+ static_cast<float>(number.value));
} else {
- reflection->SetFloat(message, field, number.as<float>());
+ reflection->SetFloat(
+ message,
+ field,
+ static_cast<float>(number.value));
}
break;
case google::protobuf::FieldDescriptor::TYPE_INT64:
case google::protobuf::FieldDescriptor::TYPE_SINT64:
case google::protobuf::FieldDescriptor::TYPE_SFIXED64:
if (field->is_repeated()) {
- reflection->AddInt64(message, field, number.as<int64_t>());
+ reflection->AddInt64(
+ message,
+ field,
+ static_cast<int64_t>(number.value));
} else {
- reflection->SetInt64(message, field, number.as<int64_t>());
+ reflection->SetInt64(
+ message,
+ field,
+ static_cast<int64_t>(number.value));
}
break;
case google::protobuf::FieldDescriptor::TYPE_UINT64:
case google::protobuf::FieldDescriptor::TYPE_FIXED64:
if (field->is_repeated()) {
- reflection->AddUInt64(message, field, number.as<uint64_t>());
+ reflection->AddUInt64(
+ message,
+ field,
+ static_cast<uint64_t>(number.value));
} else {
- reflection->SetUInt64(message, field, number.as<uint64_t>());
+ reflection->SetUInt64(
+ message,
+ field,
+ static_cast<uint64_t>(number.value));
}
break;
case google::protobuf::FieldDescriptor::TYPE_INT32:
case google::protobuf::FieldDescriptor::TYPE_SINT32:
case google::protobuf::FieldDescriptor::TYPE_SFIXED32:
if (field->is_repeated()) {
- reflection->AddInt32(message, field, number.as<int32_t>());
+ reflection->AddInt32(
+ message,
+ field,
+ static_cast<int32_t>(number.value));
} else {
- reflection->SetInt32(message, field, number.as<int32_t>());
+ reflection->SetInt32(
+ message,
+ field,
+ static_cast<int32_t>(number.value));
}
break;
case google::protobuf::FieldDescriptor::TYPE_UINT32:
case google::protobuf::FieldDescriptor::TYPE_FIXED32:
if (field->is_repeated()) {
- reflection->AddUInt32(message, field, number.as<uint32_t>());
+ reflection->AddUInt32(
+ message,
+ field,
+ static_cast<uint32_t>(number.value));
} else {
- reflection->SetUInt32(message, field, number.as<uint32_t>());
+ reflection->SetUInt32(
+ message,
+ field,
+ static_cast<uint32_t>(number.value));
}
break;
default:
http://git-wip-us.apache.org/repos/asf/mesos/blob/f8703752/3rdparty/libprocess/3rdparty/stout/tests/json_tests.cpp
----------------------------------------------------------------------
diff --git a/3rdparty/libprocess/3rdparty/stout/tests/json_tests.cpp b/3rdparty/libprocess/3rdparty/stout/tests/json_tests.cpp
index 88b6147..850650c 100644
--- a/3rdparty/libprocess/3rdparty/stout/tests/json_tests.cpp
+++ b/3rdparty/libprocess/3rdparty/stout/tests/json_tests.cpp
@@ -50,50 +50,18 @@ TEST(JsonTest, BinaryData)
TEST(JsonTest, NumberFormat)
{
- // Test whole numbers (as doubles).
- EXPECT_EQ("0.", stringify(JSON::Number(0.0)));
- EXPECT_EQ("1.", stringify(JSON::Number(1.0)));
+ // Test whole numbers.
+ EXPECT_EQ("0", stringify(JSON::Number(0.0)));
+ EXPECT_EQ("1", stringify(JSON::Number(1.0)));
// Negative.
- EXPECT_EQ("-1.", stringify(JSON::Number(-1.0)));
-
- // Test integers.
- EXPECT_EQ("0", stringify(JSON::Number(0)));
- EXPECT_EQ("2", stringify(JSON::Number(2)));
- EXPECT_EQ("-2", stringify(JSON::Number(-2)));
+ EXPECT_EQ("-1", stringify(JSON::Number(-1.0)));
// Expect at least 15 digits of precision.
EXPECT_EQ("1234567890.12345", stringify(JSON::Number(1234567890.12345)));
}
-TEST(JsonTest, NumberComparisons)
-{
- // Unsigned and signed comparisons.
- EXPECT_EQ(JSON::Number(1U), JSON::Number((int64_t) 1));
- EXPECT_EQ(JSON::Number(0U), JSON::Number((int64_t) 0));
-
- EXPECT_NE(JSON::Number(1U), JSON::Number(-1));
- EXPECT_NE(JSON::Number((uint64_t) -1), JSON::Number(-1));
-
- // Signed and unsigned comparisons (opposite order of above).
- EXPECT_EQ(JSON::Number((int64_t) 1), JSON::Number(1U));
- EXPECT_EQ(JSON::Number((int64_t) 0), JSON::Number(0U));
-
- EXPECT_NE(JSON::Number(-1), JSON::Number(1U));
- EXPECT_NE(JSON::Number(-1), JSON::Number((uint64_t) -1));
-
- // Make sure we aren't doing an implicit cast from int64_t to uint64_t.
- // These have the same bit representation (64h'8000_0000_0000_0001).
- EXPECT_NE(
- JSON::Number(9223372036854775809U),
- JSON::Number(-9223372036854775807));
- EXPECT_NE(
- JSON::Number(-9223372036854775807),
- JSON::Number(9223372036854775809U));
-}
-
-
TEST(JsonTest, BooleanFormat)
{
EXPECT_EQ("false", stringify(JSON::False()));
@@ -153,50 +121,44 @@ TEST(JsonTest, NumericAssignment)
s.st_nlink = 1;
JSON::Value v = s.st_nlink;
JSON::Number d = s.st_nlink;
- EXPECT_NE(get<JSON::Number>(v).type, JSON::Number::FLOATING);
- EXPECT_EQ(get<JSON::Number>(v).as<int64_t>(), 1);
- EXPECT_EQ(d.as<int64_t>(), 1);
+ EXPECT_EQ(get<JSON::Number>(v).value, 1.0);
+ EXPECT_EQ(d.value, 1.0);
s.st_size = 2;
v = s.st_size;
d = s.st_size;
- EXPECT_NE(get<JSON::Number>(v).type, JSON::Number::FLOATING);
- EXPECT_EQ(get<JSON::Number>(v).as<int64_t>(), 2);
- EXPECT_EQ(d.as<int64_t>(), 2);
+ EXPECT_EQ(get<JSON::Number>(v).value, 2.0);
+ EXPECT_EQ(d.value, 2.0);
s.st_mtime = 3;
v = s.st_mtime;
d = s.st_mtime;
- EXPECT_EQ(get<JSON::Number>(v).as<int64_t>(), 3);
- EXPECT_EQ(d.as<int64_t>(), 3);
+ EXPECT_EQ(get<JSON::Number>(v).value, 3.0);
+ EXPECT_EQ(d.value, 3.0);
size_t st = 4;
v = st;
d = st;
- EXPECT_EQ(get<JSON::Number>(v).type, JSON::Number::UNSIGNED_INTEGER);
- EXPECT_EQ(get<JSON::Number>(v).as<uint64_t>(), 4);
- EXPECT_EQ(d.as<uint64_t>(), 4);
+ EXPECT_EQ(get<JSON::Number>(v).value, 4.0);
+ EXPECT_EQ(d.value, 4.0);
uint64_t ui64 = 5;
v = ui64;
d = ui64;
- EXPECT_EQ(get<JSON::Number>(v).type, JSON::Number::UNSIGNED_INTEGER);
- EXPECT_EQ(get<JSON::Number>(v).as<uint64_t>(), 5);
- EXPECT_EQ(d.as<uint64_t>(), 5);
+ EXPECT_EQ(get<JSON::Number>(v).value, 5.0);
+ EXPECT_EQ(d.value, 5.0);
const unsigned int ui = 6;
v = ui;
d = ui;
- EXPECT_EQ(get<JSON::Number>(v).type, JSON::Number::UNSIGNED_INTEGER);
- EXPECT_EQ(get<JSON::Number>(v).as<uint64_t>(), 6);
- EXPECT_EQ(d.as<uint64_t>(), 6);
+ EXPECT_EQ(get<JSON::Number>(v).value, 6.0);
+ EXPECT_EQ(d.value, 6.0);
int i = 7;
v = i;
d = i;
- EXPECT_EQ(get<JSON::Number>(v).type, JSON::Number::SIGNED_INTEGER);
- EXPECT_EQ(get<JSON::Number>(v).as<int64_t>(), 7);
- EXPECT_EQ(d.as<int64_t>(), 7);
+ EXPECT_EQ(get<JSON::Number>(v).value, 7.0);
+ EXPECT_EQ(d.value, 7.0);
}
http://git-wip-us.apache.org/repos/asf/mesos/blob/f8703752/3rdparty/libprocess/3rdparty/stout/tests/protobuf_tests.cpp
----------------------------------------------------------------------
diff --git a/3rdparty/libprocess/3rdparty/stout/tests/protobuf_tests.cpp b/3rdparty/libprocess/3rdparty/stout/tests/protobuf_tests.cpp
index 01d5ec7..87737dd 100644
--- a/3rdparty/libprocess/3rdparty/stout/tests/protobuf_tests.cpp
+++ b/3rdparty/libprocess/3rdparty/stout/tests/protobuf_tests.cpp
@@ -108,18 +108,18 @@ TEST(ProtobufTest, JSON)
"{"
" \"b\": true,"
" \"bytes\": \"Ynl0ZXM=\","
- " \"d\": 1.,"
+ " \"d\": 1,"
" \"e\": \"ONE\","
- " \"f\": 1.,"
+ " \"f\": 1,"
" \"int32\": -1,"
" \"int64\": -1,"
" \"nested\": { \"str\": \"nested\"},"
- " \"optional_default\": 42.,"
+ " \"optional_default\": 42,"
" \"repeated_bool\": [true],"
" \"repeated_bytes\": [\"cmVwZWF0ZWRfYnl0ZXM=\"],"
- " \"repeated_double\": [1., 2.],"
+ " \"repeated_double\": [1, 2],"
" \"repeated_enum\": [\"TWO\"],"
- " \"repeated_float\": [1.],"
+ " \"repeated_float\": [1],"
" \"repeated_int32\": [-2],"
" \"repeated_int64\": [-2],"
" \"repeated_nested\": [ { \"str\": \"repeated_nested\" } ],"
@@ -233,75 +233,3 @@ TEST(ProtobufTest, ParseJSONArray)
EXPECT_EQ(message, repeated.Get(0));
EXPECT_EQ(message, repeated.Get(1));
}
-
-
-// Tests that integer precision is maintained between
-// JSON <-> Protobuf conversions.
-TEST(ProtobufTest, JsonLargeIntegers)
-{
- // These numbers are equal or close to the integer limits.
- tests::Message message;
- message.set_int32(-2147483647);
- message.set_int64(-9223372036854775807);
- message.set_uint32(4294967295U);
- message.set_uint64(9223372036854775807);
- message.set_sint32(-1234567890);
- message.set_sint64(-1234567890123456789);
- message.add_repeated_int32(-2000000000);
- message.add_repeated_int64(-9000000000000000000);
- message.add_repeated_uint32(3000000000U);
- message.add_repeated_uint64(7000000000000000000);
- message.add_repeated_sint32(-1000000000);
- message.add_repeated_sint64(-8000000000000000000);
-
- // Parts of the protobuf that are required. Copied from the above test.
- message.set_b(true);
- message.set_str("string");
- message.set_bytes("bytes");
- message.set_f(1.0);
- message.set_d(1.0);
- message.set_e(tests::ONE);
- message.mutable_nested()->set_str("nested");
-
- // The keys are in alphabetical order.
- string expected = strings::remove(
- "{"
- " \"b\": true,"
- " \"bytes\": \"Ynl0ZXM=\","
- " \"d\": 1.,"
- " \"e\": \"ONE\","
- " \"f\": 1.,"
- " \"int32\": -2147483647,"
- " \"int64\": -9223372036854775807,"
- " \"nested\": {\"str\": \"nested\"},"
- " \"optional_default\": 42.,"
- " \"repeated_int32\": [-2000000000],"
- " \"repeated_int64\": [-9000000000000000000],"
- " \"repeated_sint32\": [-1000000000],"
- " \"repeated_sint64\": [-8000000000000000000],"
- " \"repeated_uint32\": [3000000000],"
- " \"repeated_uint64\": [7000000000000000000],"
- " \"sint32\": -1234567890,"
- " \"sint64\": -1234567890123456789,"
- " \"str\": \"string\","
- " \"uint32\": 4294967295,"
- " \"uint64\": 9223372036854775807"
- "}",
- " ");
-
- // Check JSON -> String.
- JSON::Object object = JSON::Protobuf(message);
- EXPECT_EQ(expected, stringify(object));
-
- // Check JSON -> Protobuf.
- Try<tests::Message> parse = protobuf::parse<tests::Message>(object);
- ASSERT_SOME(parse);
-
- // Check Protobuf -> JSON.
- EXPECT_EQ(object, JSON::Protobuf(parse.get()));
-
- // Check String -> JSON.
- Try<JSON::Object> json = JSON::parse<JSON::Object>(expected);
- ASSERT_SOME(json);
- EXPECT_EQ(object, json.get());
-}
[2/5] mesos git commit: Revert "Integer Precision for JSON <->
Protobuf conversions."
Posted by jo...@apache.org.
Revert "Integer Precision for JSON <-> Protobuf conversions."
This reverts commit df9eacb10fbec7758bde1b05f35661e2e82441f4.
Project: http://git-wip-us.apache.org/repos/asf/mesos/repo
Commit: http://git-wip-us.apache.org/repos/asf/mesos/commit/fa80dcb5
Tree: http://git-wip-us.apache.org/repos/asf/mesos/tree/fa80dcb5
Diff: http://git-wip-us.apache.org/repos/asf/mesos/diff/fa80dcb5
Branch: refs/heads/master
Commit: fa80dcb59d436e5679b093e0bdda2b72b7b644bd
Parents: ceb832b
Author: Joris Van Remoortere <jo...@gmail.com>
Authored: Wed Sep 16 18:42:41 2015 -0400
Committer: Joris Van Remoortere <jo...@gmail.com>
Committed: Wed Sep 16 18:42:41 2015 -0400
----------------------------------------------------------------------
3rdparty/libprocess/src/tests/metrics_tests.cpp | 12 +++++-------
1 file changed, 5 insertions(+), 7 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/mesos/blob/fa80dcb5/3rdparty/libprocess/src/tests/metrics_tests.cpp
----------------------------------------------------------------------
diff --git a/3rdparty/libprocess/src/tests/metrics_tests.cpp b/3rdparty/libprocess/src/tests/metrics_tests.cpp
index 8f15ee7..29ed033 100644
--- a/3rdparty/libprocess/src/tests/metrics_tests.cpp
+++ b/3rdparty/libprocess/src/tests/metrics_tests.cpp
@@ -193,10 +193,10 @@ TEST(MetricsTest, Snapshot)
map<string, JSON::Value> values = responseJSON.get().values;
EXPECT_EQ(1u, values.count("test/counter"));
- EXPECT_FLOAT_EQ(0.0, values["test/counter"].as<JSON::Number>().as<double>());
+ EXPECT_FLOAT_EQ(0.0, values["test/counter"].as<JSON::Number>().value);
EXPECT_EQ(1u, values.count("test/gauge"));
- EXPECT_FLOAT_EQ(42.0, values["test/gauge"].as<JSON::Number>().as<double>());
+ EXPECT_FLOAT_EQ(42.0, values["test/gauge"].as<JSON::Number>().value);
EXPECT_EQ(0u, values.count("test/gauge_fail"));
@@ -290,10 +290,10 @@ TEST(MetricsTest, SnapshotTimeout)
map<string, JSON::Value> values = responseJSON.get().values;
EXPECT_EQ(1u, values.count("test/counter"));
- EXPECT_FLOAT_EQ(0.0, values["test/counter"].as<JSON::Number>().as<double>());
+ EXPECT_FLOAT_EQ(0.0, values["test/counter"].as<JSON::Number>().value);
EXPECT_EQ(1u, values.count("test/gauge"));
- EXPECT_FLOAT_EQ(42.0, values["test/gauge"].as<JSON::Number>().as<double>());
+ EXPECT_FLOAT_EQ(42.0, values["test/gauge"].as<JSON::Number>().value);
EXPECT_EQ(0u, values.count("test/gauge_fail"));
EXPECT_EQ(0u, values.count("test/gauge_timeout"));
@@ -381,9 +381,7 @@ TEST(MetricsTest, SnapshotStatistics)
const JSON::Value& value,
responseJSON.get().values) {
if (value.is<JSON::Number>()) {
- // "test/counter/count" is an integer, everything else is a double.
- JSON::Number number = value.as<JSON::Number>();
- responseValues[key] = number.as<double>();
+ responseValues[key] = value.as<JSON::Number>().value;
}
}
[5/5] mesos git commit: Revert "Integer Precision for JSON <->
Protobuf conversions."
Posted by jo...@apache.org.
Revert "Integer Precision for JSON <-> Protobuf conversions."
This reverts commit 3be13b3c6cb24e09ade07c8f8826b314596172b5.
Project: http://git-wip-us.apache.org/repos/asf/mesos/repo
Commit: http://git-wip-us.apache.org/repos/asf/mesos/commit/c68c3bd5
Tree: http://git-wip-us.apache.org/repos/asf/mesos/tree/c68c3bd5
Diff: http://git-wip-us.apache.org/repos/asf/mesos/diff/c68c3bd5
Branch: refs/heads/master
Commit: c68c3bd58078b9698327b3c54bbd719b55485a28
Parents: 5de90ef
Author: Joris Van Remoortere <jo...@gmail.com>
Authored: Wed Sep 16 18:43:05 2015 -0400
Committer: Joris Van Remoortere <jo...@gmail.com>
Committed: Wed Sep 16 18:43:05 2015 -0400
----------------------------------------------------------------------
3rdparty/libprocess/3rdparty/CMakeLists.txt | 3 ++-
3rdparty/libprocess/3rdparty/Makefile.am | 3 ---
3rdparty/libprocess/3rdparty/picojson-1.3.0.tar.gz | Bin 14695 -> 0 bytes
.../libprocess/3rdparty/picojson-4f93734.tar.gz | Bin 0 -> 11270 bytes
3rdparty/libprocess/3rdparty/versions.am | 2 +-
3rdparty/libprocess/Makefile.am | 1 -
6 files changed, 3 insertions(+), 6 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/mesos/blob/c68c3bd5/3rdparty/libprocess/3rdparty/CMakeLists.txt
----------------------------------------------------------------------
diff --git a/3rdparty/libprocess/3rdparty/CMakeLists.txt b/3rdparty/libprocess/3rdparty/CMakeLists.txt
index c746ba5..d13ba66 100644
--- a/3rdparty/libprocess/3rdparty/CMakeLists.txt
+++ b/3rdparty/libprocess/3rdparty/CMakeLists.txt
@@ -35,7 +35,7 @@ else (REBUNDLED)
set(GLOG_URL https://google-glog.googlecode.com/files/glog-${GLOG_VERSION}.tar.gz)
# NOTE: This url can't be versioned like the others, because it depends on
# specific commit, and isn't in our upstream.
- set(PICOJSON_URL https://github.com/kazuho/picojson/archive/v1.3.0.tar.gz)
+ set(PICOJSON_URL https://github.com/kazuho/picojson/tarball/4f93734ade33ea0f5e5b4de35fc6b2c324a8dca6)
# TODO(hausdorff): (MESOS-3395) depends on the github mirror, should remove
# when possible.
set(HTTP_PARSER_URL https://github.com/apache/mesos/raw/master/3rdparty/libprocess/3rdparty/ry-http-parser-${HTTP_PARSER_VERSION}.tar.gz)
@@ -153,6 +153,7 @@ ExternalProject_Add(
ExternalProject_Add(
${PICOJSON_TARGET}
PREFIX ${PICOJSON_CMAKE_ROOT}
+ DOWNLOAD_NAME ${PICOJSON_TARGET}.tar.gz
CONFIGURE_COMMAND ""
BUILD_COMMAND ""
INSTALL_COMMAND ""
http://git-wip-us.apache.org/repos/asf/mesos/blob/c68c3bd5/3rdparty/libprocess/3rdparty/Makefile.am
----------------------------------------------------------------------
diff --git a/3rdparty/libprocess/3rdparty/Makefile.am b/3rdparty/libprocess/3rdparty/Makefile.am
index 8e437c7..eb34251 100644
--- a/3rdparty/libprocess/3rdparty/Makefile.am
+++ b/3rdparty/libprocess/3rdparty/Makefile.am
@@ -214,9 +214,6 @@ endif
if WITH_BUNDLED_PICOJSON
stout_tests_CPPFLAGS += -I$(PICOJSON)
-
- # Enable the INT64 support for PicoJSON.
- stout_tests_CPPFLAGS += -DPICOJSON_USE_INT64
endif
if WITH_BUNDLED_GLOG
http://git-wip-us.apache.org/repos/asf/mesos/blob/c68c3bd5/3rdparty/libprocess/3rdparty/picojson-1.3.0.tar.gz
----------------------------------------------------------------------
diff --git a/3rdparty/libprocess/3rdparty/picojson-1.3.0.tar.gz b/3rdparty/libprocess/3rdparty/picojson-1.3.0.tar.gz
deleted file mode 100644
index 0ade1be..0000000
Binary files a/3rdparty/libprocess/3rdparty/picojson-1.3.0.tar.gz and /dev/null differ
http://git-wip-us.apache.org/repos/asf/mesos/blob/c68c3bd5/3rdparty/libprocess/3rdparty/picojson-4f93734.tar.gz
----------------------------------------------------------------------
diff --git a/3rdparty/libprocess/3rdparty/picojson-4f93734.tar.gz b/3rdparty/libprocess/3rdparty/picojson-4f93734.tar.gz
new file mode 100644
index 0000000..f52dacd
Binary files /dev/null and b/3rdparty/libprocess/3rdparty/picojson-4f93734.tar.gz differ
http://git-wip-us.apache.org/repos/asf/mesos/blob/c68c3bd5/3rdparty/libprocess/3rdparty/versions.am
----------------------------------------------------------------------
diff --git a/3rdparty/libprocess/3rdparty/versions.am b/3rdparty/libprocess/3rdparty/versions.am
index 98195b8..f44c715 100644
--- a/3rdparty/libprocess/3rdparty/versions.am
+++ b/3rdparty/libprocess/3rdparty/versions.am
@@ -9,4 +9,4 @@ GPERFTOOLS_VERSION = 2.0
LIBEV_VERSION = 4.15
PROTOBUF_VERSION = 2.5.0
RY_HTTP_PARSER_VERSION = 1c3624a
-PICOJSON_VERSION = 1.3.0
\ No newline at end of file
+PICOJSON_VERSION = 4f93734
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/mesos/blob/c68c3bd5/3rdparty/libprocess/Makefile.am
----------------------------------------------------------------------
diff --git a/3rdparty/libprocess/Makefile.am b/3rdparty/libprocess/Makefile.am
index e949bdd..064310c 100644
--- a/3rdparty/libprocess/Makefile.am
+++ b/3rdparty/libprocess/Makefile.am
@@ -93,7 +93,6 @@ libprocess_la_CPPFLAGS = \
-I$(BOOST) \
-I$(LIBEV) \
-I$(PICOJSON) \
- -DPICOJSON_USE_INT64 \
$(AM_CPPFLAGS)
if ENABLE_LIBEVENT
[4/5] mesos git commit: Revert "Integer Precision for JSON <->
Protobuf conversions."
Posted by jo...@apache.org.
Revert "Integer Precision for JSON <-> Protobuf conversions."
This reverts commit ae9579d9249844703413eaec7c83c504aba247d0.
Project: http://git-wip-us.apache.org/repos/asf/mesos/repo
Commit: http://git-wip-us.apache.org/repos/asf/mesos/commit/5de90ef1
Tree: http://git-wip-us.apache.org/repos/asf/mesos/tree/5de90ef1
Diff: http://git-wip-us.apache.org/repos/asf/mesos/diff/5de90ef1
Branch: refs/heads/master
Commit: 5de90ef1d2a79b625262baf0649f13424d313b46
Parents: f870375
Author: Joris Van Remoortere <jo...@gmail.com>
Authored: Wed Sep 16 18:42:58 2015 -0400
Committer: Joris Van Remoortere <jo...@gmail.com>
Committed: Wed Sep 16 18:42:58 2015 -0400
----------------------------------------------------------------------
src/Makefile.am | 3 ---
1 file changed, 3 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/mesos/blob/5de90ef1/src/Makefile.am
----------------------------------------------------------------------
diff --git a/src/Makefile.am b/src/Makefile.am
index 967147e..db2f8d9 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -106,9 +106,6 @@ MESOS_CPPFLAGS += -I../include/mesos
MESOS_CPPFLAGS += -I../$(BOOST)
MESOS_CPPFLAGS += -I../$(PICOJSON)
-# Enable the INT64 support for PicoJSON.
-MESOS_CPPFLAGS += -DPICOJSON_USE_INT64
-
MESOS_CPPFLAGS += -I../$(PROTOBUF)/src
MESOS_CPPFLAGS += -I../$(GLOG)/src