You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
HBASE-28113 Modify the way of acquiring the RegionStateNode lock in checkOnlineRegionsReport to tryLock (#5442)
* To prevent threads from being blocked by the lock of RegionStateNode, modify the way of acquiring the RegionStateNode lock in checkOnlineRegionsReport to tryLock.
Co-authored-by: lvhaiping.lhp <[email protected]>
Signed-off-by: Duo Zhang <[email protected]>
(cherry picked from commit e07d1fe)
// So, we can get report that a region is CLOSED or SPLIT because a heartbeat
1413
+
// came in at about same time as a region transition. Make sure there is some
1414
+
// elapsed time so less false alarms.
1415
+
if (diff > lag) {
1416
+
LOG.warn("Reporting {} state does not match {} (time since last update={}ms)",
1417
+
serverName, regionNode, diff);
1418
+
}
1413
1419
}
1420
+
} finally {
1421
+
regionNode.unlock();
1414
1422
}
1415
-
} finally {
1416
-
regionNode.unlock();
1423
+
} else {
1424
+
LOG.warn(
1425
+
"Unable to acquire lock for regionNode {}. It is likely that another thread is currently holding the lock. To avoid deadlock, skip execution for now.",
0 commit comments