fix receive op fail to drain because qc interrupted it

This commit is contained in:
obdev
2023-03-30 10:41:39 +00:00
committed by ob-robot
parent 282a3e052f
commit 6ab9fd8065

View File

@ -419,11 +419,10 @@ int ObPxReceiveOp::drain_exch()
} else if (OB_FAIL(active_all_receive_channel())) { } else if (OB_FAIL(active_all_receive_channel())) {
LOG_WARN("failed to active all receive channel", K(ret)); LOG_WARN("failed to active all receive channel", K(ret));
} }
if (OB_SUCC(ret)) { LOG_TRACE("drain px receive", K(get_spec().id_), K(ret), K(lbt()));
LOG_TRACE("drain px receive", K(get_spec().id_), K(ret), K(lbt())); dfc_.drain_all_channels();
dfc_.drain_all_channels(); exch_drained_ = true;
exch_drained_ = true; if (OB_ITER_END == ret) {
} else if (OB_ITER_END == ret) {
/** /**
* active_all_receive_channel有拿行的操作,可能会产生OB_ITER_END, * active_all_receive_channel有拿行的操作,可能会产生OB_ITER_END,
* 所以这里错误码是OB_ITER_END,我们已经达到了drain的目的,将错误码 * 所以这里错误码是OB_ITER_END,我们已经达到了drain的目的,将错误码