[ 
https://issues.apache.org/jira/browse/HBASE-15058?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15075806#comment-15075806
 ] 

Ashish Singhi commented on HBASE-15058:
---------------------------------------

We are roll backing the quota in SPLIT_REVERTED case.
{code}
      case SPLIT_REVERTED:
        errorMsg = onRegionSplitReverted(current, hri, serverName, transition);
        if (org.apache.commons.lang.StringUtils.isEmpty(errorMsg)) {
          try {
            regionStateListener.onRegionSplitReverted(hri);
          } catch (IOException exp) {
            LOG.warn(StringUtils.stringifyException(exp));
          }
        }
        break;
{code}

bq. region split may fail for subsequent SplitTransactionPhase's in 
stepsBeforePONR()

In this case we will rollback the split, right ?

> NamespaceAuditor should account for unsuccessful split which initially passes 
> quota check
> -----------------------------------------------------------------------------------------
>
>                 Key: HBASE-15058
>                 URL: https://issues.apache.org/jira/browse/HBASE-15058
>             Project: HBase
>          Issue Type: Bug
>            Reporter: Ted Yu
>
> When region split doesn't pass quota check, we would see exception similar to 
> the following:
> {code}
> 2015-12-29 16:07:33,653 INFO  [RS:0;10.21.128.189:57449-splits-1451434041585] 
> regionserver.SplitRequest(97): Running rollback/cleanup of failed split of 
> np2:                     
> testRegionNormalizationSplitOnCluster,zzzzz,1451434045065.27cccb3fae03002b8058beef61cb7c20.;
>  Failed to get ok from master to split 
> np2:testRegionNormalizationSplitOnCluster,     
> zzzzz,1451434045065.27cccb3fae03002b8058beef61cb7c20.
> java.io.IOException: Failed to get ok from master to split 
> np2:testRegionNormalizationSplitOnCluster,zzzzz,1451434045065.27cccb3fae03002b8058beef61cb7c20.
>   at 
> org.apache.hadoop.hbase.regionserver.SplitTransactionImpl.stepsBeforePONR(SplitTransactionImpl.java:345)
>   at 
> org.apache.hadoop.hbase.regionserver.SplitTransactionImpl.createDaughters(SplitTransactionImpl.java:262)
>   at 
> org.apache.hadoop.hbase.regionserver.SplitTransactionImpl.execute(SplitTransactionImpl.java:502)
>   at 
> org.apache.hadoop.hbase.regionserver.SplitRequest.doSplitting(SplitRequest.java:82)
>   at 
> org.apache.hadoop.hbase.regionserver.SplitRequest.run(SplitRequest.java:155)
>   at 
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
> {code}
> However, region split may fail for subsequent SplitTransactionPhase's in 
> stepsBeforePONR().
> Currently there is no mechanism to rollback the update to namespace quota.
> When region split fails, NamespaceAuditor should account for the failure so 
> that quota bookkeeping is consistent.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to