refine __all_virtual_trans_stat callback_lists_stat column

This commit is contained in:
chinaxing
2024-02-08 14:03:28 +00:00
committed by ob-robot
parent 2589c41bcd
commit 53c4aa6180
3 changed files with 19 additions and 8 deletions

View File

@ -1434,7 +1434,11 @@ int ObTransCallbackMgr::get_callback_list_stat(ObIArray<ObTxCallbackListStat> &s
} }
} else if (OB_SUCC(stats.prepare_allocate(get_callback_list_count()))) { } else if (OB_SUCC(stats.prepare_allocate(get_callback_list_count()))) {
CALLBACK_LISTS_FOREACH(idx, list) { CALLBACK_LISTS_FOREACH(idx, list) {
ret = list->get_stat_for_display(stats.at(idx)); if (list->get_appended() > 0) {
ret = list->get_stat_for_display(stats.at(idx));
} else {
stats.at(idx).id_ = -1; // mark as invalid
}
} }
} }
rwlock_.unlock(); rwlock_.unlock();

View File

@ -778,7 +778,7 @@ int ObTxCallbackList::get_stat_for_display(ObTxCallbackListStat &stat) const
{ {
int ret = OB_SUCCESS; int ret = OB_SUCCESS;
#define _ASSIGN_STAT_(x) stat.x = x; #define _ASSIGN_STAT_(x) stat.x = x;
LST_DO(_ASSIGN_STAT_, (), id_, sync_scn_, checksum_scn_, length_, logged_, removed_); LST_DO(_ASSIGN_STAT_, (), id_, sync_scn_, length_, logged_, removed_, branch_removed_);
#undef __ASSIGN_STAT_ #undef __ASSIGN_STAT_
return ret; return ret;
} }

View File

@ -25,21 +25,21 @@ struct ObTxCallbackListStat
{ {
int id_; int id_;
share::SCN sync_scn_; share::SCN sync_scn_;
share::SCN checksum_scn_;
int length_; int length_;
int logged_; int logged_;
int removed_; int removed_;
int branch_removed_;
void reset() {} void reset() {}
DECLARE_TO_STRING DECLARE_TO_STRING
{ {
int64_t pos = 0; int64_t pos = 0;
BUF_PRINTF("(%d,%d,%d,%d,%ld,%ld)", BUF_PRINTF("[%d,%d,%d,%d,%d,%ld]",
id_, id_,
length_, length_,
logged_, logged_,
removed_, removed_,
(sync_scn_.is_valid() ? sync_scn_.get_val_for_inner_table_field() : -1), branch_removed_,
(checksum_scn_.is_valid() ? checksum_scn_.get_val_for_inner_table_field() : -1)); (sync_scn_.is_valid() ? sync_scn_.get_val_for_inner_table_field() : 0));
return pos; return pos;
} }
}; };
@ -127,8 +127,15 @@ public:
{ {
int64_t pos = 0; int64_t pos = 0;
if (stats_.count() > 0) { if (stats_.count() > 0) {
BUF_PRINTF("[id, length, logged, removed, sync_scn, checksum_scn]"); J_ARRAY_START();
BUF_PRINTO(stats_); BUF_PRINTF("\"id, length, logged, removed, branch_removed, sync_scn\"");
for (int i =0; i < stats_.count(); i++) {
if (stats_.at(i).id_ >= 0) {
J_COMMA();
BUF_PRINTO(stats_.at(i));
}
}
J_ARRAY_END();
} }
return pos; return pos;
} }