You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@hbase.apache.org by "Jeffrey Zhong (JIRA)" <ji...@apache.org> on 2014/03/22 06:32:43 UTC

[jira] [Comment Edited] (HBASE-10809) HBaseAdmin#deleteTable fails when META region happen to move around same time

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

Jeffrey Zhong edited comment on HBASE-10809 at 3/22/14 5:31 AM:
----------------------------------------------------------------

{quote}
Why remove the retryLongerMultiplier? You don't say.
{quote}
Good point. Actually I can't remove it because it's also used to wait for meta is updated. 


was (Author: jeffreyz):
{quote}
Why remove the retryLongerMultiplier? You don't say.
{quote}
Because the code later in the HBaseAdmin#deleteTable() will not allow more than numRetries retries. Basically the this.retryLongerMultiplier isn't used anyway. In addition, if it's used there will be 310 retries. Since it's a sync all, no one will gonna wait such long time for I removed it for good.
{code}
      } catch (IOException ex) {
        if(tries == numRetries - 1) {           // no more tries left
          if (ex instanceof RemoteException) {
            throw ((RemoteException) ex).unwrapRemoteException();
          } else {
            throw ex;
          }
        }
      }
{code}

> HBaseAdmin#deleteTable fails when META region happen to move around same time
> -----------------------------------------------------------------------------
>
>                 Key: HBASE-10809
>                 URL: https://issues.apache.org/jira/browse/HBASE-10809
>             Project: HBase
>          Issue Type: Bug
>    Affects Versions: 0.98.0, 0.96.1, 0.99.0
>            Reporter: Jeffrey Zhong
>            Assignee: Jeffrey Zhong
>         Attachments: hbase-10809-v1.patch, hbase-10809.patch, hbase-10809.patch
>
>
> The issue is that in the retry loop, we never refetch the latest meta location. So if meta starts to move right after the function get Meta server location, the delete table eventually may fail with {code}org.apache.hadoop.hbase.NotServingRegionException: Region hbase:meta,,1 is not online{code}
> Below is the stack trace:
> {code}
> 2014-01-31 04:02:41,943|beaver.machine|INFO|Caused by: org.apache.hadoop.hbase.ipc.RemoteWithExtrasException(org.apache.hadoop.hbase.NotServingRegionException): org.apache.hadoop.hbase.NotServingRegionException: Region hbase:meta,,1 is not online
> 2014-01-31 04:02:41,943|beaver.machine|INFO|at org.apache.hadoop.hbase.regionserver.HRegionServer.getRegionByEncodedName(HRegionServer.java:2585)
> 2014-01-31 04:02:41,943|beaver.machine|INFO|at org.apache.hadoop.hbase.regionserver.HRegionServer.getRegion(HRegionServer.java:3952)
> 2014-01-31 04:02:41,944|beaver.machine|INFO|at org.apache.hadoop.hbase.regionserver.HRegionServer.scan(HRegionServer.java:2977)
> 2014-01-31 04:02:41,944|beaver.machine|INFO|at org.apache.hadoop.hbase.protobuf.generated.ClientProtos$ClientService$2.callBlockingMethod(ClientProtos.java:26929)
> 2014-01-31 04:02:41,944|beaver.machine|INFO|at org.apache.hadoop.hbase.ipc.RpcServer.call(RpcServer.java:2175)
> 2014-01-31 04:02:41,944|beaver.machine|INFO|at org.apache.hadoop.hbase.ipc.RpcServer$Handler.run(RpcServer.java:1879)
> 2014-01-31 04:02:41,945|beaver.machine|INFO|
> 2014-01-31 04:02:41,945|beaver.machine|INFO|at org.apache.hadoop.hbase.ipc.RpcClient.call(RpcClient.java:1449)
> 2014-01-31 04:02:41,945|beaver.machine|INFO|at org.apache.hadoop.hbase.ipc.RpcClient.callBlockingMethod(RpcClient.java:1653)
> 2014-01-31 04:02:41,946|beaver.machine|INFO|at org.apache.hadoop.hbase.ipc.RpcClient$BlockingRpcChannelImplementation.callBlockingMethod(RpcClient.java:1711)
> 2014-01-31 04:02:41,946|beaver.machine|INFO|at org.apache.hadoop.hbase.protobuf.generated.ClientProtos$ClientService$BlockingStub.scan(ClientProtos.java:27332)
> 2014-01-31 04:02:41,946|beaver.machine|INFO|at org.apache.hadoop.hbase.client.HBaseAdmin.deleteTable(HBaseAdmin.java:648)
> {code}



--
This message was sent by Atlassian JIRA
(v6.2#6252)