From 62fc254d36ea7b6ec29be772cb13b8f9c437575a Mon Sep 17 00:00:00 2001 From: Handora Date: Tue, 21 May 2024 07:16:23 +0000 Subject: [PATCH] print das trans info for index look up --- src/sql/das/ob_das_scan_op.cpp | 34 +++++++++++++++++++++++----------- src/sql/das/ob_das_scan_op.h | 2 ++ 2 files changed, 25 insertions(+), 11 deletions(-) diff --git a/src/sql/das/ob_das_scan_op.cpp b/src/sql/das/ob_das_scan_op.cpp index c1b3f7527..926c84633 100644 --- a/src/sql/das/ob_das_scan_op.cpp +++ b/src/sql/das/ob_das_scan_op.cpp @@ -1355,12 +1355,31 @@ int ObLocalIndexLookupOp::get_next_row(ObNewRow *&row) return OB_NOT_IMPLEMENT; } +void ObLocalIndexLookupOp::print_trans_info_and_key_range_() +{ + int ret = OB_ERR_DEFENSIVE_CHECK; + if (trans_info_array_.count() == scan_param_.key_ranges_.count()) { + for (int64_t i = 0; i < trans_info_array_.count(); i++) { + LOG_ERROR("dump TableLookup DAS Task trans_info and key_ranges", K(i), + KPC(trans_info_array_.at(i)), K(scan_param_.key_ranges_.at(i))); + } + } else { + for (int64_t i = 0; i < scan_param_.key_ranges_.count(); i++) { + LOG_ERROR("dump TableLookup DAS Task key_ranges", + K(i), K(scan_param_.key_ranges_.at(i))); + } + } +} + int ObLocalIndexLookupOp::get_next_row() { int ret = OB_SUCCESS; if (OB_FAIL(ObIndexLookupOpImpl::get_next_row())) { if (OB_ITER_END != ret) { LOG_WARN("get next row from index table lookup failed", K(ret)); + if (OB_ERR_DEFENSIVE_CHECK == ret) { + (void)print_trans_info_and_key_range_(); + } } else { LOG_DEBUG("get next row from index table lookup", K(ret)); } @@ -1374,6 +1393,9 @@ int ObLocalIndexLookupOp::get_next_rows(int64_t &count, int64_t capacity) if (OB_FAIL(ObIndexLookupOpImpl::get_next_rows(count, capacity))) { if (OB_ITER_END != ret) { LOG_WARN("get next rows from index table lookup failed", K(ret)); + if (OB_ERR_DEFENSIVE_CHECK == ret) { + (void)print_trans_info_and_key_range_(); + } } else { LOG_DEBUG("get next rows from index table lookup ", K(ret)); } @@ -1569,17 +1591,7 @@ int ObLocalIndexLookupOp::check_lookup_row_cnt() KPC_(snapshot), KPC_(tx_desc)); concurrency_control::ObDataValidationService::set_delay_resource_recycle(ls_id_); - if (trans_info_array_.count() == scan_param_.key_ranges_.count()) { - for (int64_t i = 0; i < trans_info_array_.count(); i++) { - LOG_ERROR("dump TableLookup DAS Task trans_info and key_ranges", K(i), - KPC(trans_info_array_.at(i)), K(scan_param_.key_ranges_.at(i))); - } - } else { - for (int64_t i = 0; i < scan_param_.key_ranges_.count(); i++) { - LOG_ERROR("dump TableLookup DAS Task key_ranges", - K(i), K(scan_param_.key_ranges_.at(i))); - } - } + (void)print_trans_info_and_key_range_(); } } diff --git a/src/sql/das/ob_das_scan_op.h b/src/sql/das/ob_das_scan_op.h index cd00aa748..2e34095d5 100644 --- a/src/sql/das/ob_das_scan_op.h +++ b/src/sql/das/ob_das_scan_op.h @@ -383,6 +383,8 @@ public: common::ObITabletScan &get_tsc_service(); protected: virtual int init_scan_param(); +protected: + void print_trans_info_and_key_range_(); protected: const ObDASScanCtDef *lookup_ctdef_; //lookup ctdef ObDASScanRtDef *lookup_rtdef_; //lookup rtdef