提交 6068c7df 编写于 作者: H Hongqin-Li 提交者: ob-robot

Fix ddl kv lock timeout

上级 e793572d
......@@ -667,18 +667,26 @@ int ObTabletDDLKvMgr::unregister_from_tablet(const SCN &ddl_start_scn, ObDDLKvMg
int ObTabletDDLKvMgr::rdlock(const int64_t timeout_us, uint32_t &tid)
{
int ret = OB_SUCCESS;
if (OB_SUCC(lock_.rdlock(ObLatchIds::TABLET_DDL_KV_MGR_LOCK, timeout_us))) {
const int64_t abs_timeout_us = timeout_us + ObTimeUtility::current_time();
if (OB_SUCC(lock_.rdlock(ObLatchIds::TABLET_DDL_KV_MGR_LOCK, abs_timeout_us))) {
tid = static_cast<uint32_t>(GETTID());
}
if (OB_TIMEOUT == ret) {
ret = OB_EAGAIN;
}
return ret;
}
int ObTabletDDLKvMgr::wrlock(const int64_t timeout_us, uint32_t &tid)
{
int ret = OB_SUCCESS;
if (OB_SUCC(lock_.wrlock(ObLatchIds::TABLET_DDL_KV_MGR_LOCK, timeout_us))) {
const int64_t abs_timeout_us = timeout_us + ObTimeUtility::current_time();
if (OB_SUCC(lock_.wrlock(ObLatchIds::TABLET_DDL_KV_MGR_LOCK, abs_timeout_us))) {
tid = static_cast<uint32_t>(GETTID());
}
if (OB_TIMEOUT == ret) {
ret = OB_EAGAIN;
}
return ret;
}
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册