diff --git a/src/storage/ob_tablet_autoinc_seq_rpc_handler.cpp b/src/storage/ob_tablet_autoinc_seq_rpc_handler.cpp index 7d2dac1f70..aa7e3daebe 100644 --- a/src/storage/ob_tablet_autoinc_seq_rpc_handler.cpp +++ b/src/storage/ob_tablet_autoinc_seq_rpc_handler.cpp @@ -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)); diff --git a/src/storage/tablet/ob_tablet.cpp b/src/storage/tablet/ob_tablet.cpp index f94851a328..3060dd6ecd 100644 --- a/src/storage/tablet/ob_tablet.cpp +++ b/src/storage/tablet/ob_tablet.cpp @@ -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(new_autoinc_seq)))) { LOG_WARN("failed to init cb", K(ret), K(tablet_meta_)); - } else if (OB_FAIL(set(std::move(autoinc_seq), cb->get_mds_ctx()))) { + } else if (OB_FAIL(set(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));