Details
-
Bug
-
Status: Resolved
-
Major
-
Resolution: Fixed
-
None
-
None
-
Reviewed
Description
ANALYSIS
- Called from HRegionServer.run() in case a rs is aborted:
// Stop the quota manager if (rsQuotaManager != null) { rsQuotaManager.stop(); }
- Inside RegionServerRpcQuotaManager.stop():
public void stop() { if (isQuotaEnabled()) { quotaCache.stop("shutdown"); } }
- QuotaCache starts QuotaRefresherChore in QuotaCache.start():
public void start() throws IOException { stopped = false; // TODO: This will be replaced once we have the notification bus ready. Configuration conf = rsServices.getConfiguration(); int period = conf.getInt(REFRESH_CONF_KEY, REFRESH_DEFAULT_PERIOD); refreshChore = new QuotaRefresherChore(period, this); rsServices.getChoreService().scheduleChore(refreshChore); }
- QuotaCache does not cancel refreshChore inside QuotaCache.stop():
@Override public void stop(final String why) { stopped = true; }
IMPACT:
QuotaRefresherChore may cause some retrying operation to delay rs abort