diff --git a/src/sql/das/ob_das_scan_op.cpp b/src/sql/das/ob_das_scan_op.cpp index 8c60ba4883..dbcad94e80 100644 --- a/src/sql/das/ob_das_scan_op.cpp +++ b/src/sql/das/ob_das_scan_op.cpp @@ -321,7 +321,7 @@ int ObDASScanOp::open_op() LOG_WARN("init scan param failed", K(ret)); } else if (OB_FAIL(tsc_service.table_scan(scan_param_, result_))) { if (OB_SNAPSHOT_DISCARDED == ret && scan_param_.fb_snapshot_.is_valid()) { - ret = OB_TABLE_DEFINITION_CHANGED; + ret = OB_INVALID_QUERY_TIMESTAMP; } else if (OB_TRY_LOCK_ROW_CONFLICT != ret) { LOG_WARN("fail to scan table", K(scan_param_), K(ret)); } @@ -371,7 +371,6 @@ int ObDASScanOp::release_op() //need to clear the flag:need_switch_param_ //otherwise table_rescan will jump to the switch iterator path in retry scan_param_.need_switch_param_ = false; - scan_param_.partition_guard_ = nullptr; scan_param_.destroy_schema_guard(); if (retry_alloc_ != nullptr) { diff --git a/src/storage/access/ob_dml_param.h b/src/storage/access/ob_dml_param.h index 534f225c45..fff54ec0f0 100644 --- a/src/storage/access/ob_dml_param.h +++ b/src/storage/access/ob_dml_param.h @@ -46,7 +46,6 @@ struct ObStorageDatum; } namespace storage { -class ObIPartitionGroupGuard; // // Project storage output row to expression array, the core project logic is: @@ -135,7 +134,6 @@ public: table_param_(NULL), allocator_(&CURRENT_CONTEXT->get_arena_allocator()), need_scn_(false), - partition_guard_(NULL), need_switch_param_(false), is_thread_scope_(true) {} @@ -150,7 +148,6 @@ public: common::ObIAllocator *allocator_; //stmt level allocator, only be free at the end of query common::SampleInfo sample_info_; bool need_scn_; - ObIPartitionGroupGuard *partition_guard_; // remove after SQL adopt tablet bool need_switch_param_; OB_INLINE virtual bool is_valid() const { return snapshot_.valid_ && ObVTableScanParam::is_valid(); diff --git a/src/storage/tx_storage/ob_access_service.cpp b/src/storage/tx_storage/ob_access_service.cpp index 846d6ec6e2..a3d7afe4ac 100644 --- a/src/storage/tx_storage/ob_access_service.cpp +++ b/src/storage/tx_storage/ob_access_service.cpp @@ -540,7 +540,11 @@ int ObAccessService::check_read_allowed_( if (OB_FAIL(ret)) { } else if (OB_FAIL(construct_store_ctx_other_variables_(*ls, tablet_id, scan_param.timeout_, ctx.mvcc_acc_ctx_.get_snapshot_version(), tablet_handle, ctx_guard))) { - LOG_WARN("failed to check replica allow to read", K(ret), K(tablet_id), "timeout", scan_param.timeout_); + if (OB_SNAPSHOT_DISCARDED == ret && scan_param.fb_snapshot_.is_valid()) { + ret = OB_TABLE_DEFINITION_CHANGED; + } else { + LOG_WARN("failed to check replica allow to read", K(ret), K(tablet_id), "timeout", scan_param.timeout_); + } } } return ret;