File tree Expand file tree Collapse file tree
hbase-server/src/main/java/org/apache/hadoop/hbase/quotas Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -373,19 +373,24 @@ private void updateQuotaFactors() {
373373
374374 // Update table machine quota factors
375375 for (TableName tableName : tableQuotaCache .keySet ()) {
376- double factor = 1 ;
377- try {
378- long regionSize = tableRegionStatesCount .get (tableName ).getOpenRegions ();
379- if (regionSize == 0 ) {
380- factor = 0 ;
381- } else {
382- int localRegionSize = rsServices .getRegions (tableName ).size ();
383- factor = 1.0 * localRegionSize / regionSize ;
376+ if (tableRegionStatesCount .containsKey (tableName )) {
377+ double factor = 1 ;
378+ try {
379+ long regionSize = tableRegionStatesCount .get (tableName ).getOpenRegions ();
380+ if (regionSize == 0 ) {
381+ factor = 0 ;
382+ } else {
383+ int localRegionSize = rsServices .getRegions (tableName ).size ();
384+ factor = 1.0 * localRegionSize / regionSize ;
385+ }
386+ } catch (IOException e ) {
387+ LOG .warn ("Get table regions failed: {}" , tableName , e );
384388 }
385- } catch (IOException e ) {
386- LOG .warn ("Get table regions failed: {}" , tableName , e );
389+ tableMachineQuotaFactors .put (tableName , factor );
390+ } else {
391+ // TableName might have already been dropped (outdated)
392+ tableMachineQuotaFactors .remove (tableName );
387393 }
388- tableMachineQuotaFactors .put (tableName , factor );
389394 }
390395 }
391396 }
You can’t perform that action at this time.
0 commit comments