hbase-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Louis Hust <louis.h...@gmail.com>
Subject Re: Dead loop for batch put when get WrongRegionException
Date Thu, 23 Jul 2015 06:56:34 GMT
It seems that the HBASE-13896
<https://issues.apache.org/jira/browse/HBASE-13896>  is client-side dead
loop,
but my problem is the region server side dead lock for get row lock.

2015-07-23 11:22 GMT+08:00 Victor Xu <victor.unique@gmail.com>:

> Any chance that this would be your problem?
> https://issues.apache.org/jira/browse/HBASE-13896
>
> On Thu, Jul 23, 2015 at 11:17 AM Louis Hust <louis.hust@gmail.com> wrote:
>
> > Hi ,all
> >
> > We are using batch put to insert rows, and sometimes get the following
> WARN
> > in the region server log:
> >
> > <log>
> > 2015-07-23 10:08:49,684 WARN
> >  [B.defaultRpcServer.handler=5,queue=5,port=60020] regionserver.HRegion:
> > Failed getting lock in batch put, row=BHXYHZFIHHR3ECON101002150723999999
> > org.apache.hadoop.hbase.regionserver.WrongRegionException: Requested row
> > out of range for row lock on HRegion
> > atpco:ttf_fare,C,1437145538123.9c2b8cb846b318045f2ad6b5c87fef21.,
> > startKey='C', getEndKey()='D', row='BHXYHZFIHHR3ECON101002150723999999'
> > at
> org.apache.hadoop.hbase.regionserver.HRegion.checkRow(HRegion.java:3456)
> > at
> >
> org.apache.hadoop.hbase.regionserver.HRegion.getRowLock(HRegion.java:3474)
> > at
> >
> >
> org.apache.hadoop.hbase.regionserver.HRegion.doMiniBatchMutation(HRegion.java:2394)
> > at
> >
> org.apache.hadoop.hbase.regionserver.HRegion.batchMutate(HRegion.java:2261)
> > at
> >
> org.apache.hadoop.hbase.regionserver.HRegion.batchMutate(HRegion.java:2213)
> > at
> >
> org.apache.hadoop.hbase.regionserver.HRegion.batchMutate(HRegion.java:2217)
> > at
> >
> >
> org.apache.hadoop.hbase.regionserver.HRegionServer.doBatchOp(HRegionServer.java:4386)
> > at
> >
> >
> org.apache.hadoop.hbase.regionserver.HRegionServer.doNonAtomicRegionMutation(HRegionServer.java:3588)
> > at
> >
> >
> org.apache.hadoop.hbase.regionserver.HRegionServer.multi(HRegionServer.java:3477)
> > at
> >
> >
> org.apache.hadoop.hbase.protobuf.generated.ClientProtos$ClientService$2.callBlockingMethod(ClientProtos.java:29593)
> > at org.apache.hadoop.hbase.ipc.RpcServer.call(RpcServer.java:2031)
> > at org.apache.hadoop.hbase.ipc.CallRunner.run(CallRunner.java:108)
> > at
> >
> org.apache.hadoop.hbase.ipc.RpcExecutor.consumerLoop(RpcExecutor.java:114)
> > </log>
> >
> > And the WARN message is logged no-stop. I think the batch put dived into
> > the dead loop.
> >
> > And i look up into the source code, and find the batch put will never
> stop
> > if got WrongRegionException for some row.
> >
> > Any body know how to avoid this situation?
> >
> > Any idea will be appreciated!
> >
>

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message