From cb4774effb09a0934fe36810ab0050d1164a65d8 Mon Sep 17 00:00:00 2001 From: Hongqin-Li Date: Sat, 10 Feb 2024 10:43:50 +0000 Subject: [PATCH] Fix tablet autoinc hang due to unexpected rpc_timeout --- src/share/ob_tablet_autoincrement_service.cpp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/share/ob_tablet_autoincrement_service.cpp b/src/share/ob_tablet_autoincrement_service.cpp index ef47b63496..4169ac9dee 100644 --- a/src/share/ob_tablet_autoincrement_service.cpp +++ b/src/share/ob_tablet_autoincrement_service.cpp @@ -161,7 +161,11 @@ int ObTabletAutoincMgr::fetch_new_range(const ObTabletAutoincParam ¶m, if (OB_FAIL(ret)) { (void)location_service->renew_tablet_location(param.tenant_id_, tablet_id, ret, !is_block_renew_location(ret)/*is_nonblock*/); if (is_retryable(ret)) { - if (OB_FAIL(THIS_WORKER.check_status())) { // overwrite ret + // overwrite ret + if (OB_UNLIKELY(rpc_timeout <= 0)) { + ret = OB_TIMEOUT; + LOG_WARN("timeout", K(ret), K(rpc_timeout)); + } else if (OB_FAIL(THIS_WORKER.check_status())) { LOG_WARN("failed to check status", K(ret)); } else { res.reset();