From bf09973c4f907b2477c80a9753699c5d0577962e Mon Sep 17 00:00:00 2001 From: liuyu <52276794+liuyu85cn@users.noreply.github.com> Date: Sun, 26 Sep 2021 14:50:16 +0800 Subject: [PATCH] do some clean --- src/graph/validator/MutateValidator.cpp | 9 --- src/kvstore/test/RocksEngineTest.cpp | 38 ----------- src/meta/CMakeLists.txt | 2 +- src/storage/StorageFlags.cpp | 2 +- src/storage/mutate/AddEdgesProcessor.h | 1 + src/storage/mutate/UpdateEdgeProcessor.h | 5 -- src/storage/test/ChainResumeEdgeTest.cpp | 13 ++-- .../ChainAddEdgesProcessorLocal.cpp | 29 +++++---- .../transaction/ChainResumeProcessor.cpp | 55 +--------------- .../transaction/ChainResumeProcessor.h | 2 - src/storage/transaction/ConsistUtil.cpp | 1 - src/storage/transaction/ConsistUtil.h | 6 -- src/storage/transaction/ResumeLockGuard.h | 63 ------------------- .../transaction/ResumeUpdateProcessor.h | 2 - .../transaction/ResumeUpdateRemoteProcessor.h | 1 - .../transaction/TransactionManager.cpp | 2 +- 16 files changed, 30 insertions(+), 201 deletions(-) delete mode 100644 src/storage/transaction/ResumeLockGuard.h diff --git a/src/graph/validator/MutateValidator.cpp b/src/graph/validator/MutateValidator.cpp index d820e5c3616..092c188f482 100644 --- a/src/graph/validator/MutateValidator.cpp +++ b/src/graph/validator/MutateValidator.cpp @@ -191,10 +191,6 @@ Status InsertEdgesValidator::check() { } Status InsertEdgesValidator::prepareEdges() { - // using IsoLevel = meta::cpp2::IsolationLevel; - // auto isoLevel = space_.spaceDesc.isolation_level_ref().value_or(IsoLevel::DEFAULT); - // auto useToss = isoLevel == IsoLevel::TOSS; - // auto size = useToss ? rows_.size() : rows_.size() * 2; auto size = FLAGS_enable_experimental_feature ? rows_.size() : rows_.size() * 2; edges_.reserve(size); for (auto i = 0u; i < rows_.size(); i++) { @@ -244,7 +240,6 @@ Status InsertEdgesValidator::prepareEdges() { edge.set_key(key); edge.set_props(std::move(props)); edges_.emplace_back(edge); - // if (!useToss) { if (!FLAGS_enable_experimental_feature) { // inbound key.set_src(dstId); @@ -761,10 +756,6 @@ Status UpdateEdgeValidator::toPlan() { {}, condition_, {}); - // using IsoLevel = meta::cpp2::IsolationLevel; - // auto isoLevel = space_.spaceDesc.isolation_level_ref().value_or(IsoLevel::DEFAULT); - // auto useToss = isoLevel == IsoLevel::TOSS; - // if (useToss) { if (FLAGS_enable_experimental_feature) { root_ = outNode; tail_ = root_; diff --git a/src/kvstore/test/RocksEngineTest.cpp b/src/kvstore/test/RocksEngineTest.cpp index c3dc69770f9..cd5ffe789da 100644 --- a/src/kvstore/test/RocksEngineTest.cpp +++ b/src/kvstore/test/RocksEngineTest.cpp @@ -21,44 +21,6 @@ namespace kvstore { const int32_t kDefaultVIdLen = 8; -DEFINE_string(db_path, "hello world", ""); -DEFINE_int32(space_id, 1, ""); -DEFINE_int32(part_id, 1, ""); -DEFINE_int32(vid_len, 8, ""); -DEFINE_int32(srcId, 72, ""); -DEFINE_int32(edge_type, 5, ""); -DEFINE_int32(rank, 0, ""); -DEFINE_int32(dstId, 32, ""); - -std::string toString(int32_t vid) { - std::string key; - key.append(reinterpret_cast(&vid), sizeof(vid)) - .append(FLAGS_vid_len - sizeof(vid), '\0'); - return key; -} - -// TEST(RocksEngineTest, GetValueFromDB) { -// LOG(INFO) << "FLAGS_db_path=" << FLAGS_db_path; -// LOG(INFO) << "FLAGS_space_id=" << FLAGS_space_id; -// LOG(INFO) << "FLAGS_part_id=" << FLAGS_part_id; -// LOG(INFO) << "FLAGS_vid_len=" << FLAGS_vid_len; -// LOG(INFO) << "FLAGS_srcId=" << FLAGS_srcId; -// LOG(INFO) << "FLAGS_edge_type=" << FLAGS_edge_type; -// LOG(INFO) << "FLAGS_rank=" << FLAGS_rank; -// LOG(INFO) << "FLAGS_dstId=" << FLAGS_dstId; - -// auto engine = std::make_unique(FLAGS_space_id, FLAGS_vid_len, FLAGS_db_path); -// auto strSrc = toString(FLAGS_srcId); -// auto strDst = toString(FLAGS_dstId); -// auto strEdgeKey = NebulaKeyUtils::edgeKey( -// FLAGS_vid_len, FLAGS_part_id, strSrc, FLAGS_edge_type, FLAGS_rank, strDst); -// LOG(INFO) << "hex strEdgeKey=" << folly::hexlify(strEdgeKey); -// std::string val; -// auto rc = engine->get(strEdgeKey, &val); -// LOG(INFO) << "rc = " << apache::thrift::util::enumNameSafe(rc); -// LOG(INFO) << "val.size()=" << val.size() << ", val=" << folly::hexlify(val); -// } - TEST(RocksEngineTest, SimpleTest) { fs::TempDir rootPath("/tmp/rocksdb_engine_SimpleTest.XXXXXX"); auto engine = std::make_unique(0, kDefaultVIdLen, rootPath.path()); diff --git a/src/meta/CMakeLists.txt b/src/meta/CMakeLists.txt index 3aa0ed2dd8e..63e2d75dde1 100644 --- a/src/meta/CMakeLists.txt +++ b/src/meta/CMakeLists.txt @@ -161,5 +161,5 @@ set(meta_test_deps ) nebula_add_subdirectory(http) -# nebula_add_subdirectory(test) +nebula_add_subdirectory(test) nebula_add_subdirectory(upgrade) diff --git a/src/storage/StorageFlags.cpp b/src/storage/StorageFlags.cpp index 881f94a5a13..609cd90505f 100644 --- a/src/storage/StorageFlags.cpp +++ b/src/storage/StorageFlags.cpp @@ -39,7 +39,7 @@ DEFINE_uint64(default_mvcc_ver, DEFINE_string(reader_handlers_type, "cpu", "Type of reader handlers, options: cpu,io"); -DEFINE_bool(trace_toss, true, "output verbose log of toss"); +DEFINE_bool(trace_toss, false, "output verbose log of toss"); DEFINE_int32(max_edge_returned_per_vertex, INT_MAX, "Max edge number returnred searching vertex"); diff --git a/src/storage/mutate/AddEdgesProcessor.h b/src/storage/mutate/AddEdgesProcessor.h index 086fb52f9ca..90596995105 100644 --- a/src/storage/mutate/AddEdgesProcessor.h +++ b/src/storage/mutate/AddEdgesProcessor.h @@ -53,6 +53,7 @@ class AddEdgesProcessor : public BaseProcessor { std::vector> indexes_; bool ifNotExists_{false}; + /// this is a hook function to keep out-edge and in-edge consist using ConsistOper = std::function*)>; folly::Optional consistOp_; }; diff --git a/src/storage/mutate/UpdateEdgeProcessor.h b/src/storage/mutate/UpdateEdgeProcessor.h index 644078ee2d4..253bc749f3c 100644 --- a/src/storage/mutate/UpdateEdgeProcessor.h +++ b/src/storage/mutate/UpdateEdgeProcessor.h @@ -53,11 +53,6 @@ class UpdateEdgeProcessor void onProcessFinished() override; std::vector getReturnPropsExp() { - // std::vector result; - // result.resize(returnPropsExp_.size()); - // auto get = [] (auto &ptr) {return ptr.get(); }; - // std::transform(returnPropsExp_.begin(), returnPropsExp_.end(), result.begin(), get); - // return result; return returnPropsExp_; } void profilePlan(StoragePlan& plan) { diff --git a/src/storage/test/ChainResumeEdgeTest.cpp b/src/storage/test/ChainResumeEdgeTest.cpp index fb6fd691ce0..c693d277479 100644 --- a/src/storage/test/ChainResumeEdgeTest.cpp +++ b/src/storage/test/ChainResumeEdgeTest.cpp @@ -72,7 +72,7 @@ TEST(ChainResumeEdgesTest, resumeTest1) { auto* iClient = FakeInternalStorageClient::instance(env); FakeInternalStorageClient::hookInternalStorageClient(env, iClient); ChainResumeProcessor resumeProc(env); - resumeProc.process2(); + resumeProc.process(); EXPECT_EQ(334, numOfKey(req, gTestUtil.genKey, env)); EXPECT_EQ(0, numOfKey(req, gTestUtil.genPrime, env)); @@ -158,6 +158,7 @@ TEST(ChainResumeEdgesTest, resumePrimeTest3) { auto error = nebula::cpp2::ErrorCode::E_RPC_FAILURE; auto* iClient = FakeInternalStorageClient::instance(env, error); FakeInternalStorageClient::hookInternalStorageClient(env, iClient); + env->txnMan_->scanPrimes(1, 1); ChainResumeProcessor resumeProc(env); resumeProc.process(); @@ -287,7 +288,7 @@ TEST(ChainResumeEdgesTest, resumeTest6) { FakeInternalStorageClient::hookInternalStorageClient(env, iClient); env->txnMan_->scanPrimes(1, 1); ChainResumeProcessor resumeProc(env); - resumeProc.process2(); + resumeProc.process(); EXPECT_EQ(334, numOfKey(req, util.genKey, env)); EXPECT_EQ(0, numOfKey(req, util.genPrime, env)); @@ -328,7 +329,7 @@ TEST(ChainUpdateEdgeTest, resumeTest7) { FakeInternalStorageClient::hookInternalStorageClient(env, iClient); env->txnMan_->scanPrimes(1, 1); ChainResumeProcessor resumeProc(env); - resumeProc.process2(); + resumeProc.process(); EXPECT_TRUE(helper.edgeExist(env, req)); EXPECT_FALSE(helper.primeExist(env, req)); @@ -368,7 +369,7 @@ TEST(ChainUpdateEdgeTest, resumeTest8) { iClient->setErrorCode(Code::E_UNKNOWN); FakeInternalStorageClient::hookInternalStorageClient(env, iClient); ChainResumeProcessor resumeProc(env); - resumeProc.process2(); + resumeProc.process(); EXPECT_TRUE(helper.edgeExist(env, req)); EXPECT_TRUE(helper.primeExist(env, req)); @@ -409,7 +410,7 @@ TEST(ChainUpdateEdgeTest, resumeTest9) { iClient->setErrorCode(Code::E_RPC_FAILURE); FakeInternalStorageClient::hookInternalStorageClient(env, iClient); ChainResumeProcessor resumeProc(env); - resumeProc.process2(); + resumeProc.process(); EXPECT_TRUE(helper.edgeExist(env, req)); EXPECT_FALSE(helper.primeExist(env, req)); @@ -447,7 +448,7 @@ TEST(ChainUpdateEdgeTest, resumeTest10) { auto* iClient = FakeInternalStorageClient::instance(env); FakeInternalStorageClient::hookInternalStorageClient(env, iClient); ChainResumeProcessor resumeProc(env); - resumeProc.process2(); + resumeProc.process(); EXPECT_TRUE(helper.edgeExist(env, req)); EXPECT_FALSE(helper.primeExist(env, req)); diff --git a/src/storage/transaction/ChainAddEdgesProcessorLocal.cpp b/src/storage/transaction/ChainAddEdgesProcessorLocal.cpp index 7070408fc71..24593be1016 100644 --- a/src/storage/transaction/ChainAddEdgesProcessorLocal.cpp +++ b/src/storage/transaction/ChainAddEdgesProcessorLocal.cpp @@ -33,10 +33,12 @@ void ChainAddEdgesProcessorLocal::process(const cpp2::AddEdgesRequest& req) { * 3. write edge prime(key = edge prime, val = ) */ folly::SemiFuture ChainAddEdgesProcessorLocal::prepareLocal() { - uuid_ = ConsistUtil::strUUID(); - readableEdgeDesc_ = makeReadableEdge(req_); - if (!readableEdgeDesc_.empty()) { - uuid_.append(" ").append(readableEdgeDesc_); + if (FLAGS_trace_toss) { + uuid_ = ConsistUtil::strUUID(); + readableEdgeDesc_ = makeReadableEdge(req_); + if (!readableEdgeDesc_.empty()) { + uuid_.append(" ").append(readableEdgeDesc_); + } } if (!lockEdges(req_)) { @@ -47,7 +49,7 @@ folly::SemiFuture ChainAddEdgesProcessorLocal::prepareLocal() { auto primes = makePrime(); if (FLAGS_trace_toss) { for (auto& kv : primes) { - LOG(INFO) << uuid_ << " put prime " << folly::hexlify(kv.first); + VLOG(1) << uuid_ << " put prime " << folly::hexlify(kv.first); } } @@ -62,7 +64,7 @@ folly::SemiFuture ChainAddEdgesProcessorLocal::prepareLocal() { } folly::SemiFuture ChainAddEdgesProcessorLocal::processRemote(Code code) { - LOG(INFO) << uuid_ << " prepareLocal(), code = " << apache::thrift::util::enumNameSafe(code); + VLOG(1) << uuid_ << " prepareLocal(), code = " << apache::thrift::util::enumNameSafe(code); if (code != Code::SUCCEEDED) { return code; } @@ -75,7 +77,9 @@ folly::SemiFuture ChainAddEdgesProcessorLocal::processRemote(Code code) { } folly::SemiFuture ChainAddEdgesProcessorLocal::processLocal(Code code) { - LOG(INFO) << uuid_ << " processRemote(), code = " << apache::thrift::util::enumNameSafe(code); + if (FLAGS_trace_toss) { + VLOG(1) << uuid_ << " processRemote(), code = " << apache::thrift::util::enumNameSafe(code); + } if (code == Code::SUCCEEDED) { // do nothing @@ -126,7 +130,7 @@ bool ChainAddEdgesProcessorLocal::prepareRequest(const cpp2::AddEdgesRequest& re spaceVidType_ = vidType.value(); } localPartId_ = req.get_parts().begin()->first; - // replaceNullWithDefaultValue(req_); + replaceNullWithDefaultValue(req_); auto part = env_->kvstore_->part(spaceId_, localPartId_); if (!nebula::ok(part)) { pushResultCode(nebula::error(part), localPartId_); @@ -155,8 +159,8 @@ folly::SemiFuture ChainAddEdgesProcessorLocal::forwardToDelegateProcessor( std::move(futProc).thenValue([&, p = std::move(pro)](auto&& resp) mutable { auto rc = extractRpcError(resp); if (rc != Code::SUCCEEDED) { - LOG(INFO) << uuid_ << " forwardToDelegateProcessor(), code = " - << apache::thrift::util::enumNameSafe(rc); + VLOG(1) << uuid_ + << " forwardToDelegateProcessor(), code = " << apache::thrift::util::enumNameSafe(rc); addUnfinishedEdge(ResumeType::RESUME_CHAIN); } p.setValue(rc); @@ -225,7 +229,7 @@ folly::SemiFuture ChainAddEdgesProcessorLocal::abort() { localPartId_, std::move(kvErased_), [p = std::move(pro), this](auto rc) mutable { - LOG(INFO) << uuid_ << " abort()=" << apache::thrift::util::enumNameSafe(rc); + VLOG(1) << uuid_ << " abort()=" << apache::thrift::util::enumNameSafe(rc); if (rc != Code::SUCCEEDED) { addUnfinishedEdge(ResumeType::RESUME_CHAIN); } @@ -350,8 +354,7 @@ cpp2::AddEdgesRequest ChainAddEdgesProcessorLocal::reverseRequest( } void ChainAddEdgesProcessorLocal::finish() { - LOG_IF(INFO, FLAGS_trace_toss) << uuid_ << " commitLocal(), code_ = " - << apache::thrift::util::enumNameSafe(code_); + VLOG(1) << uuid_ << " commitLocal(), code_ = " << apache::thrift::util::enumNameSafe(code_); pushResultCode(code_, localPartId_); finished_.setValue(code_); onFinished(); diff --git a/src/storage/transaction/ChainResumeProcessor.cpp b/src/storage/transaction/ChainResumeProcessor.cpp index a4785c05151..3f177f49fab 100644 --- a/src/storage/transaction/ChainResumeProcessor.cpp +++ b/src/storage/transaction/ChainResumeProcessor.cpp @@ -16,55 +16,6 @@ namespace nebula { namespace storage { void ChainResumeProcessor::process() { - std::unordered_map> leaders; - if (env_->kvstore_->allLeader(leaders) == 0) { - LOG(INFO) << "no leader found, skip any resume process"; - return; - } - std::unique_ptr iter; - for (auto& leader : leaders) { - auto spaceId = leader.first; - for (auto& partInfo : leader.second) { - auto partId = partInfo.get_part_id(); - auto prefix = ConsistUtil::primePrefix(partId); - auto rc = env_->kvstore_->prefix(spaceId, partId, prefix, &iter); - if (rc != nebula::cpp2::ErrorCode::SUCCEEDED) { - break; - } - for (; iter->valid(); iter->next()) { - // if (needResume(spaceId, iter->key())) { - LOG(INFO) << "resume prime " << folly::hexlify(iter->key()); - ResumeOptions opt(ResumeType::RESUME_CHAIN, iter->val().str()); - auto* proc = ChainProcessorFactory::makeProcessor(env_, opt); - // futs.emplace_back(proc->getFinished()); - auto fut = proc->getFinished(); - env_->txnMan_->addChainTask(proc); - std::move(fut).get(); - } - - // prefix = ConsistUtil::doublePrimePrefix(partId); - // rc = env_->kvstore_->prefix(spaceId, partId, prefix, &iter); - // if (rc != nebula::cpp2::ErrorCode::SUCCEEDED) { - // break; - // } - // for (; iter->valid(); iter->next()) { - // if (needResume(spaceId, iter->key())) { - // LOG(INFO) << "resume double prime " << folly::hexlify(iter->key()); - // ResumeOptions opt(ResumeType::RESUME_REMOTE, iter->val().str()); - // auto* proc = ChainProcessorFactory::makeProcessor(env_, opt); - // futs.emplace_back(proc->getFinished()); - // env_->txnMan_->addChainTask(proc); - // } else { - // LOG(INFO) << "skip double prime " << folly::hexlify(iter->key()); - // } - // } - // break; - } - // break; - } -} - -void ChainResumeProcessor::process2() { auto* table = env_->txnMan_->getReserveTable(); std::unique_ptr iter; for (auto it = table->begin(); it != table->end(); ++it) { @@ -72,15 +23,15 @@ void ChainResumeProcessor::process2() { auto edgeKey = std::string(it->first.c_str() + sizeof(GraphSpaceID), it->first.size() - sizeof(GraphSpaceID)); auto partId = NebulaKeyUtils::getPart(edgeKey); - LOG(INFO) << "resume edge space=" << spaceId << ", part=" << partId - << ", hex=" << folly::hexlify(edgeKey); + VLOG(1) << "resume edge space=" << spaceId << ", part=" << partId + << ", hex=" << folly::hexlify(edgeKey); auto prefix = (it->second == ResumeType::RESUME_CHAIN) ? ConsistUtil::primeTable() : ConsistUtil::doublePrimeTable(); auto key = prefix + edgeKey; std::string val; auto rc = env_->kvstore_->get(spaceId, partId, key, &val); if (rc != nebula::cpp2::ErrorCode::SUCCEEDED) { - LOG(WARNING) << "kvstore->get() failed, hex=" << apache::thrift::util::enumNameSafe(rc); + LOG(WARNING) << "kvstore->get() failed, " << apache::thrift::util::enumNameSafe(rc); continue; } ResumeOptions opt(it->second, val); diff --git a/src/storage/transaction/ChainResumeProcessor.h b/src/storage/transaction/ChainResumeProcessor.h index c11ec4b127c..70ac57d5e76 100644 --- a/src/storage/transaction/ChainResumeProcessor.h +++ b/src/storage/transaction/ChainResumeProcessor.h @@ -24,8 +24,6 @@ class ChainResumeProcessor { void process(); - void process2(); - private: StorageEnv* env_{nullptr}; }; diff --git a/src/storage/transaction/ConsistUtil.cpp b/src/storage/transaction/ConsistUtil.cpp index 98f11dcabde..70d9d96cf18 100644 --- a/src/storage/transaction/ConsistUtil.cpp +++ b/src/storage/transaction/ConsistUtil.cpp @@ -64,7 +64,6 @@ RequestType ConsistUtil::parseType(folly::StringPiece val) { return RequestType::INSERT; default: LOG(FATAL) << "shoule not happend, identifier is " << identifier; - // return RequestType::UNKNOWN; } } diff --git a/src/storage/transaction/ConsistUtil.h b/src/storage/transaction/ConsistUtil.h index 42f1011b9eb..814885b6ddd 100644 --- a/src/storage/transaction/ConsistUtil.h +++ b/src/storage/transaction/ConsistUtil.h @@ -22,12 +22,6 @@ enum class RequestType { UPDATE, }; -enum class ChainProcessType { - NORMAL = 0, - RESUME_CHAIN = 1, - RESUME_REMOTE = 2, -}; - enum class ResumeType { UNKNOWN = 0, RESUME_CHAIN, diff --git a/src/storage/transaction/ResumeLockGuard.h b/src/storage/transaction/ResumeLockGuard.h deleted file mode 100644 index 1d3005bb014..00000000000 --- a/src/storage/transaction/ResumeLockGuard.h +++ /dev/null @@ -1,63 +0,0 @@ -/* Copyright (c) 2021 vesoft inc. All rights reserved. - * - * This source code is licensed under Apache 2.0 License, - * attached with Common Clause Condition 1.0, found in the LICENSES directory. - */ - -#pragma once - -#include - -#include "common/utils/MemoryLockCore.h" - -namespace nebula { -namespace storage { - -// RAII style to easily control the lock acquire / release -class ResumeLockGuard { - public: - ResumeLockGuard(TransactionManager* txnMgr, GraphSpaceID spaceId, const std::string& key) - : key_(key) { - auto partId = NebulaKeyUtils::getPart(key); - lockCore_ = txnMgr->getLockCore(spaceId, partId); - if (txnMgr->takeDanglingEdge(spaceId, key)) { - locked_ = true; - } else { - locked_ = lockCore_->try_lock(key_); - } - } - - ResumeLockGuard(const ResumeLockGuard&) = delete; - - ResumeLockGuard(ResumeLockGuard&& lg) noexcept - : key_(std::move(lg.key_)), lockCore_(lg.lockCore_), locked_(lg.locked_) {} - - ResumeLockGuard& operator=(const ResumeLockGuard&) = delete; - - ResumeLockGuard& operator=(ResumeLockGuard&& lg) noexcept { - if (this != &lg) { - lockCore_ = lg.lockCore_; - key_ = std::move(lg.key_); - locked_ = lg.locked_; - } - return *this; - } - - ~ResumeLockGuard() { - if (locked_) { - lockCore_->unlock(key_); - } - } - - bool isLocked() const noexcept { return locked_; } - - operator bool() const noexcept { return isLocked(); } - - protected: - std::string key_; - MemoryLockCore* lockCore_; - bool locked_{false}; -}; - -} // namespace storage -} // namespace nebula diff --git a/src/storage/transaction/ResumeUpdateProcessor.h b/src/storage/transaction/ResumeUpdateProcessor.h index 09df9d57d48..dde47d0451c 100644 --- a/src/storage/transaction/ResumeUpdateProcessor.h +++ b/src/storage/transaction/ResumeUpdateProcessor.h @@ -36,8 +36,6 @@ class ResumeUpdateProcessor : public ChainUpdateEdgeProcessorLocal { ResumeUpdateProcessor(StorageEnv* env, const std::string& val); bool lockEdge(); - - // std::unique_ptr resumeLock_; }; } // namespace storage diff --git a/src/storage/transaction/ResumeUpdateRemoteProcessor.h b/src/storage/transaction/ResumeUpdateRemoteProcessor.h index 8a195310abe..c239273fa09 100644 --- a/src/storage/transaction/ResumeUpdateRemoteProcessor.h +++ b/src/storage/transaction/ResumeUpdateRemoteProcessor.h @@ -7,7 +7,6 @@ #pragma once #include "storage/transaction/ChainUpdateEdgeProcessorLocal.h" -// #include "storage/transaction/ResumeLockGuard.h" namespace nebula { namespace storage { diff --git a/src/storage/transaction/TransactionManager.cpp b/src/storage/transaction/TransactionManager.cpp index f52b585b8b4..6f8b53a53f0 100644 --- a/src/storage/transaction/TransactionManager.cpp +++ b/src/storage/transaction/TransactionManager.cpp @@ -82,7 +82,7 @@ void TransactionManager::resumeThread() { FLAGS_resume_interval_secs * 1000, &TransactionManager::resumeThread, this); }; ChainResumeProcessor proc(env_); - proc.process2(); + proc.process(); } bool TransactionManager::start() {