[
https://issues.apache.org/jira/browse/HBASE-20699?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16504896#comment-16504896
]
Nihal Jain commented on HBASE-20699:
------------------------------------
Sample logs of rs abort after fix:
{noformat}
2018-06-07 22:08:14,937 INFO
[RS_CLOSE_META-regionserver/root1-ThinkPad-T440p:16020-0] regionserver.HRegion:
Closed hbase:meta,,1.1588230740
2018-06-07 22:08:14,946 INFO
[RS_CLOSE_REGION-regionserver/root1-ThinkPad-T440p:16020-0]
regionserver.HRegion: Closed t1,,1528389095248.0b093ce9c44d1f1169d97b84fe5582a9.
2018-06-07 22:08:14,998 INFO [regionserver/root1-ThinkPad-T440p:16020]
regionserver.HRegionServer: stopping server
root1-thinkpad-t440p,16020,1528388981740; all regions closed.
2018-06-07 22:08:14,999 INFO [regionserver/root1-ThinkPad-T440p:16020]
quotas.QuotaCache: Stopping QuotaRefresherChore chore.
2018-06-07 22:08:15,005 INFO [regionserver/root1-ThinkPad-T440p:16020]
wal.AbstractFSWAL: Closed WAL: AsyncFSWAL
root1-thinkpad-t440p%2C16020%2C1528388981740.meta:.meta(num 1528388996279)
2018-06-07 22:08:15,010 INFO [regionserver/root1-ThinkPad-T440p:16020]
wal.AbstractFSWAL: Closed WAL: AsyncFSWAL
root1-thinkpad-t440p%2C16020%2C1528388981740:(num 1528388995924)
2018-06-07 22:08:15,010 INFO [regionserver/root1-ThinkPad-T440p:16020]
regionserver.Leases: Closed leases
2018-06-07 22:08:15,011 INFO [regionserver/root1-ThinkPad-T440p:16020]
hbase.ChoreService: Chore service for: regionserver/root1-ThinkPad-T440p:16020
had [[ScheduledChore: Name: CompactedHFilesCleaner Period: 120000 Unit:
MILLISECONDS], [ScheduledChore: Name: CompactionThroughputTuner Period: 60000
Unit: MILLISECONDS], [ScheduledChore: Name: MemstoreFlusherChore Period: 10000
Unit: MILLISECONDS], [ScheduledChore: Name: MovedRegionsCleaner for region
root1-thinkpad-t440p,16020,1528388981740 Period: 120000 Unit: MILLISECONDS],
[ScheduledChore: Name: FileSystemUtilizationChore Period: 300000 Unit:
MILLISECONDS]] on shutdown
2018-06-07 22:08:15,011 INFO
[regionserver/root1-ThinkPad-T440p:16020.logRoller] regionserver.LogRoller:
LogRoller exiting.
2018-06-07 22:08:15,011 INFO [regionserver/root1-ThinkPad-T440p:16020]
ipc.NettyRpcServer: Stopping server on /127.0.1.1:16020
2018-06-07 22:08:15,030 INFO [regionserver/root1-ThinkPad-T440p:16020]
zookeeper.ZooKeeper: Session: 0x163db1223b70007 closed
2018-06-07 22:08:15,030 INFO [main-EventThread] zookeeper.ClientCnxn:
EventThread shut down for session: 0x163db1223b70007
2018-06-07 22:08:15,030 INFO [regionserver/root1-ThinkPad-T440p:16020]
regionserver.HRegionServer: Exiting;
stopping=root1-thinkpad-t440p,16020,1528388981740; zookeeper connection closed.
2018-06-07 22:08:15,030 INFO [Thread-4] regionserver.ShutdownHook: Starting fs
shutdown hook thread.
2018-06-07 22:08:15,031 INFO [Thread-4] regionserver.ShutdownHook: Shutdown
hook finished.
{noformat}
> QuotaCache should cancel the QuotaRefresherChore service inside its stop()
> --------------------------------------------------------------------------
>
> Key: HBASE-20699
> URL: https://issues.apache.org/jira/browse/HBASE-20699
> Project: HBase
> Issue Type: Bug
> Reporter: Nihal Jain
> Assignee: Nihal Jain
> Priority: Major
> Fix For: 3.0.0
>
> Attachments: HBASE-20699.master.001.patch
>
>
> *ANALYSIS*
> * Called from {{HRegionServer.run()}} in case a rs is aborted:
> {code:java}
> // Stop the quota manager
> if (rsQuotaManager != null) {
> rsQuotaManager.stop();
> }
> {code}
> * Inside {{RegionServerRpcQuotaManager.stop()}}:
> {code:java}
> public void stop() {
> if (isQuotaEnabled()) {
> quotaCache.stop("shutdown");
> }
> }
> {code}
> * {{QuotaCache starts QuotaRefresherChore in}}{{ QuotaCache.start()}}:
> {code:java}
> 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);
> }
> {code}
> * {{QuotaCache does not cancel refreshChore inside }}{{QuotaCache.stop()}}:
> {code:java}
> @Override
> public void stop(final String why) {
> stopped = true;
> }
> {code}
> *IMPACT:*
> QuotaRefresherChore may cause some retrying operation to delay rs abort
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)