This patch hasn't been merge into 0.98.14 right now. you can apply it in
your version, just recompile the hbase-client is ok.

On Thu, Jul 23, 2015 at 3:04 PM Louis Hust <[email protected]> wrote:

> My hbase version is 0.98.6,  i will try update client to 0.98.14 and keep
> server at 0.98.6,
> Thanks very much!
>
> 2015-07-23 15:00 GMT+08:00 Victor Xu <[email protected]>:
>
>> Client-side dead loop can cause sending wrong read/write requests to the
>> region servers, and you've got exactly the same log output as myself when
>> the the bug happens. However, this only occurs when you are using 0.98.X
>> version. 1.0 and above do not have this problem.
>>
>> On Thu, Jul 23, 2015 at 2:55 PM Louis Hust <[email protected]> wrote:
>>
>>> It seems that the HBASE-13896
>>> <https://issues.apache.org/jira/browse/HBASE-13896>  is client-side
>>> dead loop,
>>> but my problem is the regionserver-side dead lock for get row lock,
>>>
>>> 2015-07-23 11:23 GMT+08:00 Victor Xu <[email protected]>:
>>>
>>>> FYI
>>>>
>>>> ---------- Forwarded message ---------
>>>> From: Victor Xu <[email protected]>
>>>> Date: Thu, Jul 23, 2015 at 11:22 AM
>>>> Subject: Re: Dead loop for batch put when get WrongRegionException
>>>> To: [email protected] <[email protected]>
>>>>
>>>>
>>>> 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 <[email protected]>
>>>> 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!
>>>>>
>>>>
>>>
>

Reply via email to