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

Andrew Purtell commented on HBASE-10148:
----------------------------------------

I don't think RegionInRecoveryException is not the right exception to throw. 
The CP is not initialized yet. There could be other causes besides the region 
being in recovery, such as an RPC before the CP is initialized. :-)



> [VisibilityController] Tolerate regions in recovery
> ---------------------------------------------------
>
>                 Key: HBASE-10148
>                 URL: https://issues.apache.org/jira/browse/HBASE-10148
>             Project: HBase
>          Issue Type: Bug
>    Affects Versions: 0.98.0
>            Reporter: Andrew Purtell
>            Assignee: Anoop Sam John
>            Priority: Blocker
>             Fix For: 0.98.0
>
>         Attachments: HBASE-10148.patch, HBASE-10148_V2.patch
>
>
> Ted Yu reports that enabling distributed log replay by default, like:
> {noformat}
> Index: hbase-common/src/main/java/org/apache/hadoop/hbase/HConstants.java
> ===================================================================
> --- hbase-common/src/main/java/org/apache/hadoop/hbase/HConstants.java        
> (revision 1550575)
> +++ hbase-common/src/main/java/org/apache/hadoop/hbase/HConstants.java        
> (working copy)
> @@ -794,7 +794,7 @@
>    /** Conf key that enables unflushed WAL edits directly being replayed to 
> region servers */
>    public static final String DISTRIBUTED_LOG_REPLAY_KEY = 
> "hbase.master.distributed.log.replay";
> -  public static final boolean DEFAULT_DISTRIBUTED_LOG_REPLAY_CONFIG = false;
> +  public static final boolean DEFAULT_DISTRIBUTED_LOG_REPLAY_CONFIG = true;
>    public static final String DISALLOW_WRITES_IN_RECOVERING =
>        "hbase.regionserver.disallow.writes.when.recovering";
>    public static final boolean DEFAULT_DISALLOW_WRITES_IN_RECOVERING_CONFIG = 
> false;
> {noformat}
> causes TestVisibilityController#testAddVisibilityLabelsOnRSRestart to fail. 
> It reveals an issue with label operations if the label table is recovering:
> {noformat}
> 2013-12-12 14:53:53,133 DEBUG [RpcServer.handler=2,port=58108] 
> visibility.VisibilityController(1046): Adding the label XYZ2013-12-12 
> 14:53:53,137 ERROR [RpcServer.handler=2,port=58108] 
> visibility.VisibilityController(1074): 
> org.apache.hadoop.hbase.exceptions.RegionInRecoveryException: 
> hbase:labels,,1386888826648.f14a399ba85cbb42c2c3b7547bf17c65. is recovering
> 2013-12-12 14:53:53,151 DEBUG [main] visibility.TestVisibilityLabels(405): 
> response from addLabels: result {
>   exception {
>     name: "org.apache.hadoop.hbase.exceptions.RegionInRecoveryException"
>     value: "org.apache.hadoop.hbase.exceptions.RegionInRecoveryException: 
> hbase:labels,,1386888826648.f14a399ba85cbb42c2c3b7547bf17c65. is recovering 
> at 
> org.apache.hadoop.hbase.regionserver.HRegion.startRegionOperation(HRegion.java:5555)
>  at 
> org.apache.hadoop.hbase.regionserver.HRegion.getScanner(HRegion.java:1763) at 
> org.apache.hadoop.hbase.regionserver.HRegion.getScanner(HRegion.java:1749) at 
> org.apache.hadoop.hbase.security.visibility.VisibilityController.getExistingLabelsWithAuths(VisibilityController.java:1096)
>  at 
> org.apache.hadoop.hbase.security.visibility.VisibilityController.postBatchMutate(VisibilityController.java:672)"
> {noformat}
> Should we try to ride over this?



--
This message was sent by Atlassian JIRA
(v6.1.4#6159)

Reply via email to