hbase-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Andrew Purtell (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HBASE-10148) [VisibilityController] Tolerate regions in recovery
Date Tue, 17 Dec 2013 20:56:07 GMT

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

Mime
View raw message