Fix autoinc get_tablet timeout
This commit is contained in:
@ -142,7 +142,7 @@ int ObTabletAutoincSeqRpcHandler::fetch_tablet_autoinc_seq_cache(
|
||||
LOG_WARN("follower received FetchTabletsSeq rpc", K(ret), K(ls_id));
|
||||
} else if (OB_FAIL(MTL(ObLSService*)->get_ls(ls_id, ls_handle, ObLSGetMod::OBSERVER_MOD))) {
|
||||
LOG_WARN("get ls failed", K(ret), K(ls_id));
|
||||
} else if (OB_FAIL(ls_handle.get_ls()->get_tablet(tablet_id, tablet_handle))) {
|
||||
} else if (OB_FAIL(ls_handle.get_ls()->get_tablet(tablet_id, tablet_handle, THIS_WORKER.is_timeout_ts_valid() ? THIS_WORKER.get_timeout_remain() : obrpc::ObRpcProxy::MAX_RPC_TIMEOUT))) {
|
||||
LOG_WARN("failed to get tablet", KR(ret), K(arg));
|
||||
} else if (OB_FAIL(tablet_handle.get_obj()->fetch_tablet_autoinc_seq_cache(
|
||||
arg.cache_size_, autoinc_interval))) {
|
||||
@ -196,7 +196,7 @@ int ObTabletAutoincSeqRpcHandler::batch_get_tablet_autoinc_seq(
|
||||
LOG_WARN("failed to get tablet", K(tmp_ret), K(src_tablet_id));
|
||||
} else {
|
||||
ObTabletAutoincSeq autoinc_seq;
|
||||
if (OB_TMP_FAIL(tablet_handle.get_obj()->get_autoinc_seq(allocator, share::SCN::max_scn(), autoinc_seq))) {
|
||||
if (OB_TMP_FAIL(tablet_handle.get_obj()->get_autoinc_seq(allocator, share::SCN::max_scn(), autoinc_seq, THIS_WORKER.is_timeout_ts_valid() ? THIS_WORKER.get_timeout_remain() : obrpc::ObRpcProxy::MAX_RPC_TIMEOUT))) {
|
||||
LOG_WARN("fail to get latest autoinc seq", K(ret));
|
||||
} else if (OB_TMP_FAIL(autoinc_seq.get_autoinc_seq_value(autoinc_param.autoinc_seq_))) {
|
||||
LOG_WARN("failed to get autoinc seq value", K(tmp_ret));
|
||||
|
||||
@ -4841,10 +4841,11 @@ int ObTablet::fetch_tablet_autoinc_seq_cache(
|
||||
ObArenaAllocator allocator(common::ObMemAttr(MTL_ID(), "FetchAutoSeq"));
|
||||
ObTabletAutoincSeq autoinc_seq;
|
||||
uint64_t auto_inc_seqvalue = 0;
|
||||
const int64_t rpc_timeout = THIS_WORKER.is_timeout_ts_valid() ? THIS_WORKER.get_timeout_remain() : obrpc::ObRpcProxy::MAX_RPC_TIMEOUT;
|
||||
if (OB_UNLIKELY(!is_inited_)) {
|
||||
ret = OB_NOT_INIT;
|
||||
LOG_WARN("not inited", K(ret), K_(is_inited));
|
||||
} else if (OB_FAIL(get_autoinc_seq(allocator, share::SCN::max_scn(), autoinc_seq))) {
|
||||
} else if (OB_FAIL(get_autoinc_seq(allocator, share::SCN::max_scn(), autoinc_seq, rpc_timeout))) {
|
||||
LOG_WARN("fail to get latest autoinc seq", K(ret));
|
||||
} else if (OB_FAIL(autoinc_seq.get_autoinc_seq_value(auto_inc_seqvalue))) {
|
||||
LOG_WARN("failed to get autoinc seq value", K(ret), K(autoinc_seq));
|
||||
@ -4973,7 +4974,7 @@ int ObTablet::write_sync_tablet_seq_log(ObTabletAutoincSeq &autoinc_seq,
|
||||
LOG_WARN("fail to serialize sync tablet seq log", K(ret));
|
||||
} else if (OB_FAIL(cb->init(tablet_meta_.ls_id_, tablet_id, static_cast<int64_t>(new_autoinc_seq)))) {
|
||||
LOG_WARN("failed to init cb", K(ret), K(tablet_meta_));
|
||||
} else if (OB_FAIL(set<ObTabletAutoincSeq>(std::move(autoinc_seq), cb->get_mds_ctx()))) {
|
||||
} else if (OB_FAIL(set<ObTabletAutoincSeq>(std::move(autoinc_seq), cb->get_mds_ctx(), THIS_WORKER.is_timeout_ts_valid() ? THIS_WORKER.get_timeout_remain() : obrpc::ObRpcProxy::MAX_RPC_TIMEOUT))) {
|
||||
LOG_WARN("failed to set mds", K(ret));
|
||||
} else if (OB_FAIL(log_handler->append(buffer,
|
||||
buffer_size,
|
||||
@ -5028,10 +5029,11 @@ int ObTablet::update_tablet_autoinc_seq(const uint64_t autoinc_seq)
|
||||
ObTabletAutoincSeq curr_autoinc_seq;
|
||||
uint64_t curr_auto_inc_seqvalue;
|
||||
SCN scn;
|
||||
const int64_t rpc_timeout = THIS_WORKER.is_timeout_ts_valid() ? THIS_WORKER.get_timeout_remain() : obrpc::ObRpcProxy::MAX_RPC_TIMEOUT;
|
||||
if (OB_UNLIKELY(!is_inited_)) {
|
||||
ret = OB_NOT_INIT;
|
||||
LOG_WARN("not inited", K(ret), K_(is_inited));
|
||||
} else if (OB_FAIL(get_autoinc_seq(allocator, share::SCN::max_scn(), curr_autoinc_seq))) {
|
||||
} else if (OB_FAIL(get_autoinc_seq(allocator, share::SCN::max_scn(), curr_autoinc_seq, rpc_timeout))) {
|
||||
LOG_WARN("fail to get latest autoinc seq", K(ret));
|
||||
} else if (OB_FAIL(curr_autoinc_seq.get_autoinc_seq_value(curr_auto_inc_seqvalue))) {
|
||||
LOG_WARN("failed to get autoinc seq value", K(ret));
|
||||
|
||||
Reference in New Issue
Block a user