fix add touched ls bug when report failed
This commit is contained in:
@ -480,8 +480,7 @@ void ObFastInitSqcCB::on_timeout()
|
|||||||
{
|
{
|
||||||
int ret = OB_TIMEOUT;
|
int ret = OB_TIMEOUT;
|
||||||
ret = deal_with_rpc_timeout_err_safely();
|
ret = deal_with_rpc_timeout_err_safely();
|
||||||
const bool is_timeout = true;
|
interrupt_qc(ret);
|
||||||
interrupt_qc(ret, is_timeout);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
int ObFastInitSqcCB::process()
|
int ObFastInitSqcCB::process()
|
||||||
@ -491,8 +490,7 @@ int ObFastInitSqcCB::process()
|
|||||||
if (OB_FAIL(ret)) {
|
if (OB_FAIL(ret)) {
|
||||||
int64_t cur_timestamp = ::oceanbase::common::ObTimeUtility::current_time();
|
int64_t cur_timestamp = ::oceanbase::common::ObTimeUtility::current_time();
|
||||||
if (timeout_ts_ - cur_timestamp > 0) {
|
if (timeout_ts_ - cur_timestamp > 0) {
|
||||||
const bool is_timeout = false;
|
interrupt_qc(ret);
|
||||||
interrupt_qc(ret, is_timeout);
|
|
||||||
LOG_WARN("init fast sqc cb async interrupt qc", K_(trace_id),
|
LOG_WARN("init fast sqc cb async interrupt qc", K_(trace_id),
|
||||||
K(addr_), K(timeout_ts_), K(interrupt_id_), K(ret));
|
K(addr_), K(timeout_ts_), K(interrupt_id_), K(ret));
|
||||||
} else {
|
} else {
|
||||||
@ -518,7 +516,7 @@ int ObFastInitSqcCB::deal_with_rpc_timeout_err_safely()
|
|||||||
return call.ret_;
|
return call.ret_;
|
||||||
}
|
}
|
||||||
|
|
||||||
void ObFastInitSqcCB::interrupt_qc(int err, bool is_timeout)
|
void ObFastInitSqcCB::interrupt_qc(int err)
|
||||||
{
|
{
|
||||||
int ret = OB_SUCCESS;
|
int ret = OB_SUCCESS;
|
||||||
ObGlobalInterruptManager *manager = ObGlobalInterruptManager::getInstance();
|
ObGlobalInterruptManager *manager = ObGlobalInterruptManager::getInstance();
|
||||||
@ -526,7 +524,7 @@ void ObFastInitSqcCB::interrupt_qc(int err, bool is_timeout)
|
|||||||
// if we are sure init_sqc msg is not sent to sqc successfully, we don't have to set sqc not alive.
|
// if we are sure init_sqc msg is not sent to sqc successfully, we don't have to set sqc not alive.
|
||||||
bool init_sqc_not_send_out = (get_error() == EASY_TIMEOUT_NOT_SENT_OUT
|
bool init_sqc_not_send_out = (get_error() == EASY_TIMEOUT_NOT_SENT_OUT
|
||||||
|| get_error() == EASY_DISCONNECT_NOT_SENT_OUT);
|
|| get_error() == EASY_DISCONNECT_NOT_SENT_OUT);
|
||||||
const bool need_set_not_alive = is_timeout && !init_sqc_not_send_out;
|
const bool need_set_not_alive = !init_sqc_not_send_out;
|
||||||
ObFastInitSqcReportQCMessageCall call(sqc_, err, timeout_ts_, need_set_not_alive);
|
ObFastInitSqcReportQCMessageCall call(sqc_, err, timeout_ts_, need_set_not_alive);
|
||||||
if (OB_FAIL(manager->get_map().atomic_refactored(interrupt_id_, call))) {
|
if (OB_FAIL(manager->get_map().atomic_refactored(interrupt_id_, call))) {
|
||||||
LOG_WARN("fail to set need report", K(interrupt_id_));
|
LOG_WARN("fail to set need report", K(interrupt_id_));
|
||||||
|
|||||||
@ -168,7 +168,7 @@ public:
|
|||||||
}
|
}
|
||||||
virtual void set_args(const Request &arg) { UNUSED(arg); }
|
virtual void set_args(const Request &arg) { UNUSED(arg); }
|
||||||
int deal_with_rpc_timeout_err_safely();
|
int deal_with_rpc_timeout_err_safely();
|
||||||
void interrupt_qc(int err, bool is_timeout);
|
void interrupt_qc(int err);
|
||||||
private:
|
private:
|
||||||
common::ObAddr addr_;
|
common::ObAddr addr_;
|
||||||
ObQueryRetryInfo *retry_info_;
|
ObQueryRetryInfo *retry_info_;
|
||||||
|
|||||||
Reference in New Issue
Block a user