[CP] Fix virtual table result
This commit is contained in:
@ -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算子
|
||||
// 此操作已确认是线程安全的.
|
||||
|
||||
@ -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);
|
||||
|
||||
Reference in New Issue
Block a user