hbase-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Heng Chen (JIRA)" <j...@apache.org>
Subject [jira] [Comment Edited] (HBASE-15058) NamespaceAuditor should account for unsuccessful split which initially passes quota check
Date Thu, 31 Dec 2015 03:44:49 GMT

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

Heng Chen edited comment on HBASE-15058 at 12/31/15 3:44 AM:
-------------------------------------------------------------

Currently,  the quota information is stored in HMaster,   So when split happens, we have to
ask HMaster whether the quota check pass or not,  and once split failed, we have to tell hmaster
the information, so master could do rollback the update of namespace quota.

I have a proposal,  could we store quota information in some place (I notice this information
is stored in meta now,  could we use it directly in RS ?),  so regionServer and HMaster could
get/update this information more simple, and the consistency could be guaranteed.





was (Author: chenheng):
Currently,  the quota information is stored in HMaster,   So when split happens, we have to
ask HMaster whether the quota check pass or not,  and once split failed, we have to tell hmaster
the information, so master could do rollback the update of namespace quota.

I have a proposal,  could we store quota information in some place (ZK or System table), 
so regionServer and HMaster could get/update this information more simple, and the consistency
could be guaranteed.

> 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)

Mime
View raw message