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

Heng Chen commented on HBASE-15058:
-----------------------------------

[~tedyu] 
I notice your comment in HBASE-15056
So your suggestion is we implement a new RegionStateListener to communicate 
with HMaster to ensure the consistency quota state?
I think it is fine,  but i am not sure how to keep consistency between HMaster 
and backup Master if we still keep the state in memory.

My suggestion is keep the state in some place (e.g. ZK),  wdyt?

> 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