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