[CP] Fix virtual table result

This commit is contained in:
qianchanger
2023-02-06 16:14:57 +08:00
committed by ob-robot
parent c94bf9ada3
commit 92b9a65903
2 changed files with 3 additions and 2 deletions

View File

@ -265,7 +265,7 @@ void ObFastInitSqcReportQCMessageCall::operator()(hash::HashMapPair<ObInterrupti
{
UNUSED(entry);
if (OB_NOT_NULL(sqc_)) {
if (sqc_->is_ignore_vtable_error() && err_ != OB_SUCCESS) {
if (sqc_->is_ignore_vtable_error() && err_ != OB_SUCCESS && err_ != OB_TIMEOUT) {
// 当该SQC是虚拟表查询时, 调度RPC失败时需要忽略错误结果.
// 并mock一个sqc finsh msg发送给正在轮询消息的PX算子
// 此操作已确认是线程安全的.

View File

@ -463,7 +463,8 @@ int ObPxTaskProcess::do_process()
// nop
} else if (IS_INTERRUPTED()) {
//当前是被QC中断的,不再向QC发送中断,退出即可。
} else if (arg_.get_sqc_handler()->get_sqc_init_arg().sqc_.is_ignore_vtable_error()) {
} else if (ret != OB_TIMEOUT &&
arg_.get_sqc_handler()->get_sqc_init_arg().sqc_.is_ignore_vtable_error()) {
// 忽略虚拟表错误
} else {
(void) ObInterruptUtil::interrupt_qc(arg_.task_, ret);