From 60816a5d079866b9f864f2c5d7f7d48b4746a712 Mon Sep 17 00:00:00 2001 From: pengweisong <90180021+pengweisong@users.noreply.github.com> Date: Sat, 2 Apr 2022 13:50:43 +0800 Subject: [PATCH] change int to int64_t --- src/kvstore/Common.h | 39 ++++++++++++++++--------------------- src/kvstore/RocksEngine.cpp | 2 +- 2 files changed, 18 insertions(+), 23 deletions(-) diff --git a/src/kvstore/Common.h b/src/kvstore/Common.h index e3f9c6721e3..696edf5acae 100644 --- a/src/kvstore/Common.h +++ b/src/kvstore/Common.h @@ -9,6 +9,8 @@ #include #include +#include + #include "common/base/Base.h" #include "common/datatypes/HostAddr.h" #include "common/thrift/ThriftTypes.h" @@ -16,7 +18,7 @@ #include "common/utils/Types.h" #include "interface/gen-cpp2/common_types.h" -DECLARE_int32(balance_expired_sesc); +DECLARE_int64(balance_expired_sesc); namespace nebula { namespace kvstore { @@ -110,11 +112,11 @@ inline std::ostream& operator<<(std::ostream& os, const Peer& peer) { struct Peers { private: std::map peers; - int createdTime; + int64_t createdTime; public: Peers() { - createdTime = static_cast(time::WallClock::fastNowInSec()); + createdTime = time::WallClock::fastNowInSec(); } explicit Peers(const std::vector& addrs) { // from normal peers for (auto& addr : addrs) { @@ -178,8 +180,7 @@ struct Peers { } bool isExpired() const { - return static_cast(time::WallClock::fastNowInSec()) - createdTime > - static_cast(FLAGS_balance_expired_sesc); + return time::WallClock::fastNowInSec() - createdTime > FLAGS_balance_expired_sesc; } void setCreatedTime(int time) { @@ -196,26 +197,20 @@ struct Peers { return os.str(); } - static std::tuple extractHeader(const std::string& header) { - auto pos = header.find(":"); - if (pos == std::string::npos) { - LOG(INFO) << "Parse version from part peers header error:" << header; - return {0, 0, 0}; - } - int version = std::stoi(header.substr(pos + 1)); - pos = header.find(":", pos + 1); - if (pos == std::string::npos) { - LOG(INFO) << "Parse count from part peers header error:" << header; + static std::tuple extractHeader(const std::string& header) { + std::vector fields; + folly::split(":", header, fields, true); + if (fields.size() != 4) { + LOG(INFO) << "Parse part peers header error:" << header; return {0, 0, 0}; } - int count = std::stoi(header.substr(pos + 1)); - pos = header.find(":", pos + 1); - if (pos == std::string::npos) { - LOG(INFO) << "Parse created time from part peers header error:" << header; - return {0, 0, 0}; - } - int createdTime = std::stoi(header.substr(pos + 1)); + int version = std::stoi(fields[1]); + int count = std::stoi(fields[2]); + + int64_t createdTime; + std::istringstream iss(fields[3]); + iss >> createdTime; return {version, count, createdTime}; } diff --git a/src/kvstore/RocksEngine.cpp b/src/kvstore/RocksEngine.cpp index 458c6d49359..30206903a0f 100644 --- a/src/kvstore/RocksEngine.cpp +++ b/src/kvstore/RocksEngine.cpp @@ -15,7 +15,7 @@ #include "kvstore/KVStore.h" DEFINE_bool(move_files, false, "Move the SST files instead of copy when ingest into dataset"); -DEFINE_int32(balance_expired_sesc, +DEFINE_int64(balance_expired_sesc, 86400, "The expired time of balancing part info persisted in the storaged");