Skip to content

Commit 9cfe0bc

Browse files
committed
[feat][store] Add backup debug information with ts timestamp.
1 parent 2325407 commit 9cfe0bc

File tree

4 files changed

+54
-8
lines changed

4 files changed

+54
-8
lines changed

src/br/backup.cc

Lines changed: 35 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -632,6 +632,29 @@ butil::Status Backup::GetGcSafePoint() {
632632
}
633633

634634
DINGO_LOG_IF(INFO, FLAGS_br_log_switch_backup_detail_detail) << response.DebugString();
635+
if (FLAGS_br_log_switch_backup_detail) {
636+
DINGO_LOG(INFO) << "";
637+
DINGO_LOG(INFO) << "tenant id : " << dingodb::Constant::kDefaultTenantId
638+
<< " safe point : " << response.safe_point() << "("
639+
<< Utils::ConvertTsoToDateTime(response.safe_point()) << ")";
640+
641+
for (const auto& [id, safe_point] : response.tenant_safe_points()) {
642+
DINGO_LOG(INFO) << "tenant id : " << id << " safe point : " << safe_point << "("
643+
<< Utils::ConvertTsoToDateTime(safe_point) << ")";
644+
}
645+
646+
DINGO_LOG(INFO) << "";
647+
648+
DINGO_LOG(INFO) << "tenant id : " << dingodb::Constant::kDefaultTenantId
649+
<< " resolve lock safe point : " << response.resolve_lock_safe_point() << "("
650+
<< Utils::ConvertTsoToDateTime(response.resolve_lock_safe_point()) << ")";
651+
652+
for (const auto& [id, safe_point] : response.tenant_resolve_lock_safe_points()) {
653+
DINGO_LOG(INFO) << "tenant id : " << id << " resolve lock safe point : " << safe_point << "("
654+
<< Utils::ConvertTsoToDateTime(safe_point) << ")";
655+
}
656+
DINGO_LOG(INFO) << "";
657+
}
635658

636659
int64_t max_tenant_safe_points;
637660
int64_t min_tenant_resolve_lock_safe_points;
@@ -653,18 +676,24 @@ butil::Status Backup::GetGcSafePoint() {
653676

654677
// compare safe points
655678
if (backuptso_internal_ > max_tenant_safe_points && backuptso_internal_ <= min_tenant_resolve_lock_safe_points) {
656-
DINGO_LOG(INFO) << "Backup safe point is " << backuptso_internal_;
679+
DINGO_LOG(INFO) << "Backup safe point is " << backuptso_internal_ << " "
680+
<< Utils::ConvertTsoToDateTime(backuptso_internal_);
657681
} else {
658682
std::string s = fmt::format(
659-
"Backup safe point is {}, but max tenant safe point is {}, min tenant resolve lock safe point is {}",
660-
backuptso_internal_, max_tenant_safe_points, min_tenant_resolve_lock_safe_points);
683+
"Backup safe point is {}({}), but max tenant safe point is {}({}), min tenant resolve lock safe point is "
684+
"{}({})",
685+
backuptso_internal_, Utils::ConvertTsoToDateTime(backuptso_internal_), max_tenant_safe_points,
686+
Utils::ConvertTsoToDateTime(max_tenant_safe_points), min_tenant_resolve_lock_safe_points,
687+
Utils::ConvertTsoToDateTime(min_tenant_resolve_lock_safe_points));
661688
DINGO_LOG(ERROR) << s;
662689
return butil::Status(dingodb::pb::error::EILLEGAL_PARAMTETERS, s);
663690
}
664691

665-
std::string s =
666-
fmt::format("# max tenant safe points : {} min tenant resolve lock safe points : {} backuptso(internal) : {}",
667-
max_tenant_safe_points, min_tenant_resolve_lock_safe_points, backuptso_internal_);
692+
std::string s = fmt::format(
693+
"# max tenant safe points : {}({}) min tenant resolve lock safe points : {}({}) backuptso(internal) : {}({})",
694+
max_tenant_safe_points, Utils::ConvertTsoToDateTime(max_tenant_safe_points), min_tenant_resolve_lock_safe_points,
695+
Utils::ConvertTsoToDateTime(min_tenant_resolve_lock_safe_points), backuptso_internal_,
696+
Utils::ConvertTsoToDateTime(backuptso_internal_));
668697
std::cout << s << std::endl;
669698
DINGO_LOG(INFO) << s;
670699

src/br/main.cc

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -457,12 +457,12 @@ int main(int argc, char* argv[]) {
457457
"HH:MM:SS ]' --storage=local://[path_dir]\n");
458458
printf("Example: \n");
459459
printf(
460-
"/dingodb_br --br_coor_url=127.0.0.1:22001 --br_type=backup --br_backup_type=full --backupts='2020-01-01 "
460+
"./dingodb_br --br_coor_url=127.0.0.1:22001 --br_type=backup --br_backup_type=full --backupts='2020-01-01 "
461461
"00:00:00 +08:00' "
462462
"--storage=local:///opt/backup-2020-01-01\n");
463463

464464
printf(
465-
"/dingodb_br --br_coor_url=[file://./conf/coor_list] --br_type=backup --br_backup_type=full "
465+
"./dingodb_br --br_coor_url=[file://./conf/coor_list] --br_type=backup --br_backup_type=full "
466466
"--backupts='2020-01-01 "
467467
"00:00:00 +08:00' "
468468
"--storage=local:///opt/backup-2020-01-01\n");

src/br/utils.cc

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -261,4 +261,20 @@ butil::Status Utils::ConvertBackupTsToTso(const std::string& backup_ts, int64_t&
261261
return butil::Status();
262262
}
263263

264+
std::string Utils::ConvertTsoToDateTime(int64_t tso) {
265+
int64_t milliseconds = tso >> dingodb::kLogicalBits;
266+
milliseconds += dingodb::kBaseTimestampMs;
267+
268+
std::chrono::milliseconds ms(milliseconds);
269+
auto tp = std::chrono::time_point<std::chrono::system_clock, std::chrono::milliseconds>(ms);
270+
271+
std::time_t time = std::chrono::system_clock::to_time_t(tp);
272+
std::tm tm = *std::localtime(&time);
273+
274+
std::ostringstream oss;
275+
oss << std::put_time(&tm, "%Y-%m-%d %H:%M:%S");
276+
277+
return oss.str();
278+
}
279+
264280
} // namespace br

src/br/utils.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,7 @@ class Utils {
3434

3535
static int64_t ConvertToMilliseconds(const std::string& datetime);
3636
static butil::Status ConvertBackupTsToTso(const std::string& backup_ts, int64_t& tso);
37+
static std::string ConvertTsoToDateTime(int64_t tso);
3738

3839
private:
3940
Utils() = default;

0 commit comments

Comments
 (0)