From fdca644c7be90719cddfb10cb0735f0b7533136c Mon Sep 17 00:00:00 2001 From: "pengwei.song" <90180021+pengweisong@users.noreply.github.com> Date: Tue, 10 Jan 2023 17:46:51 +0800 Subject: [PATCH] add balance job type to filter when create backup (#5228) * add more job type to filter when create backup * log add job * add log before acquire snapshot lock Co-authored-by: Sophie <84560950+Sophie-Xie@users.noreply.github.com> --- src/meta/processors/admin/CreateBackupProcessor.cpp | 3 +++ src/meta/processors/job/JobManager.cpp | 8 +++++++- src/meta/test/CreateBackupProcessorTest.cpp | 2 ++ 3 files changed, 12 insertions(+), 1 deletion(-) diff --git a/src/meta/processors/admin/CreateBackupProcessor.cpp b/src/meta/processors/admin/CreateBackupProcessor.cpp index 9d2e10b346a..5735e55ae66 100644 --- a/src/meta/processors/admin/CreateBackupProcessor.cpp +++ b/src/meta/processors/admin/CreateBackupProcessor.cpp @@ -85,9 +85,11 @@ void CreateBackupProcessor::process(const cpp2::CreateBackupReq& req) { // make sure there is no index job std::unordered_set jobTypes{cpp2::JobType::REBUILD_TAG_INDEX, cpp2::JobType::REBUILD_EDGE_INDEX, + cpp2::JobType::REBUILD_FULLTEXT_INDEX, cpp2::JobType::COMPACT, cpp2::JobType::INGEST, cpp2::JobType::DATA_BALANCE, + cpp2::JobType::ZONE_BALANCE, cpp2::JobType::LEADER_BALANCE}; auto result = jobMgr->checkTypeJobRunning(jobTypes); if (!nebula::ok(result)) { @@ -105,6 +107,7 @@ void CreateBackupProcessor::process(const cpp2::CreateBackupReq& req) { } folly::SharedMutex::WriteHolder holder(LockUtils::snapshotLock()); + LOG(INFO) << "Start to create checkpoints in all hosts."; // get active storage host list auto activeHostsRet = ActiveHostsMan::getActiveHosts(kvstore_); if (!nebula::ok(activeHostsRet)) { diff --git a/src/meta/processors/job/JobManager.cpp b/src/meta/processors/job/JobManager.cpp index c9d31c417fb..8b28bb0862a 100644 --- a/src/meta/processors/job/JobManager.cpp +++ b/src/meta/processors/job/JobManager.cpp @@ -567,8 +567,13 @@ nebula::cpp2::ErrorCode JobManager::addJob(JobDescription jobDesc) { if (rc == nebula::cpp2::ErrorCode::SUCCEEDED) { enqueue(spaceId, jobId, JbOp::ADD, jobDesc.getJobType()); inFlightJobs_.emplace(std::move(jobId), std::move(jobDesc)); + LOG(INFO) << folly::sformat("Add job successfully, job id={}, job type={}", + jobId, + apache::thrift::util::enumNameSafe(jobDesc.getJobType())); } else { - LOG(INFO) << "Add Job Failed"; + LOG(INFO) << folly::sformat("Add job failed, job id={}, job type={}", + jobId, + apache::thrift::util::enumNameSafe(jobDesc.getJobType())); if (rc != nebula::cpp2::ErrorCode::E_LEADER_CHANGED) { rc = nebula::cpp2::ErrorCode::E_ADD_JOB_FAILURE; } @@ -1002,6 +1007,7 @@ ErrorOr JobManager::checkTypeJobRunning( auto jobDesc = nebula::value(optJobRet); auto jType = jobDesc.getJobType(); if (jobTypes.find(jType) == jobTypes.end()) { + LOG(INFO) << "skip job type:" << apache::thrift::util::enumNameSafe(jType); continue; } diff --git a/src/meta/test/CreateBackupProcessorTest.cpp b/src/meta/test/CreateBackupProcessorTest.cpp index 4291f19c834..d0bb559b371 100644 --- a/src/meta/test/CreateBackupProcessorTest.cpp +++ b/src/meta/test/CreateBackupProcessorTest.cpp @@ -272,9 +272,11 @@ TEST_F(CreateBackupProcessorTest, Basic) { TEST_F(CreateBackupProcessorTest, RunningJobs) { std::vector jobTypes{cpp2::JobType::REBUILD_TAG_INDEX, cpp2::JobType::REBUILD_EDGE_INDEX, + cpp2::JobType::REBUILD_FULLTEXT_INDEX, cpp2::JobType::COMPACT, cpp2::JobType::INGEST, cpp2::JobType::DATA_BALANCE, + cpp2::JobType::ZONE_BALANCE, cpp2::JobType::LEADER_BALANCE}; JobID jobId = 1; for (auto jobType : jobTypes) {