提交 528f2057 编写于 作者: H handora 提交者: LINGuanRen

[BUG] fix report error msg from sql recheck

上级 f6fbce3c
...@@ -2922,14 +2922,27 @@ int ObPartitionStorage::process_old_row(ObDMLRunningCtx& run_ctx, const bool dat ...@@ -2922,14 +2922,27 @@ int ObPartitionStorage::process_old_row(ObDMLRunningCtx& run_ctx, const bool dat
relative_tables.index_tables_[i], store_ctx, idx_col_descs, idx_row->row_val_, exists))) { relative_tables.index_tables_[i], store_ctx, idx_col_descs, idx_row->row_val_, exists))) {
STORAGE_LOG(WARN, "failed to check rowkey existing", K(*idx_row), K(ret)); STORAGE_LOG(WARN, "failed to check rowkey existing", K(*idx_row), K(ret));
} else if (!exists) { } else if (!exists) {
ret = OB_ERR_UNEXPECTED; if (run_ctx.store_ctx_.mem_ctx_ != NULL) {
STORAGE_LOG(ERROR, ObMemtableCtx *curr_mt_ctx = static_cast<ObMemtableCtx *>(run_ctx.store_ctx_.mem_ctx_);
"DEBUG ATTENTION!!!! update or delete a non exist index row", transaction::ObTransCtx *trans_ctx = curr_mt_ctx->get_trans_ctx();
K(ret), if (NULL != trans_ctx) {
KPC(idx_row), if (!trans_ctx->is_bounded_staleness_read() && curr_mt_ctx->is_for_replay()) {
K(relative_tables.data_table_.tables_handle_), TRANS_LOG(WARN, "strong consistent read follower when sql check",
K(relative_tables.index_tables_[i]), K(trans_ctx->get_trans_id()));
K(relative_tables.index_tables_[i].tables_handle_)); ret = OB_NOT_MASTER;
}
}
}
if (OB_NOT_MASTER != ret) {
ret = OB_ERR_UNEXPECTED;
STORAGE_LOG(ERROR,
"DEBUG ATTENTION!!!! update or delete a non exist index row",
K(ret),
KPC(idx_row),
K(relative_tables.data_table_.tables_handle_),
K(relative_tables.index_tables_[i]),
K(relative_tables.index_tables_[i].tables_handle_));
}
} else { } else {
// STORAGE_LOG(INFO, "build index row", K(*idx_row), K(null_idx_val), K(type)); // STORAGE_LOG(INFO, "build index row", K(*idx_row), K(null_idx_val), K(type));
if (ND_ROWKEY_CHANGE == type && !null_idx_val) { if (ND_ROWKEY_CHANGE == type && !null_idx_val) {
......
...@@ -692,6 +692,7 @@ private: ...@@ -692,6 +692,7 @@ private:
const ObStoreCtx& ctx, const ObTableScanParam& scan_param, const common::ObNewRow& row, RowReshape*& row_reshape); const ObStoreCtx& ctx, const ObTableScanParam& scan_param, const common::ObNewRow& row, RowReshape*& row_reshape);
int check_useless_index_mini_merge(const storage::ObSSTableMergeCtx &ctx); int check_useless_index_mini_merge(const storage::ObSSTableMergeCtx &ctx);
int dump_error_info(ObSSTable& main_sstable, ObSSTable& index_sstable); int dump_error_info(ObSSTable& main_sstable, ObSSTable& index_sstable);
void check_leader_changed_for_sql_recheck_(ObDMLRunningCtx &run_ctx, int &ret);
// disallow copy; // disallow copy;
DISALLOW_COPY_AND_ASSIGN(ObPartitionStorage); DISALLOW_COPY_AND_ASSIGN(ObPartitionStorage);
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册