[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); UNUSED(entry);
if (OB_NOT_NULL(sqc_)) { 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失败时需要忽略错误结果. // 当该SQC是虚拟表查询时, 调度RPC失败时需要忽略错误结果.
// 并mock一个sqc finsh msg发送给正在轮询消息的PX算子 // 并mock一个sqc finsh msg发送给正在轮询消息的PX算子
// 此操作已确认是线程安全的. // 此操作已确认是线程安全的.

View File

@ -463,7 +463,8 @@ int ObPxTaskProcess::do_process()
// nop // nop
} else if (IS_INTERRUPTED()) { } else if (IS_INTERRUPTED()) {
//当前是被QC中断的,不再向QC发送中断,退出即可。 //当前是被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 { } else {
(void) ObInterruptUtil::interrupt_qc(arg_.task_, ret); (void) ObInterruptUtil::interrupt_qc(arg_.task_, ret);