Our RegionServers kept getting this exception and were therefore unable to
response to other requests:
org.apache.hadoop.hbase.regionserver.HRegion: Failed getting lock in batch
put, row=...
org.apache.hadoop.hbase.regionserver.WrongRegionException: Requested row
out of range for row lock on HRegion
test,1752868451_785774043,1422169937336.cb3ab092981ff22d51be923bcf7fa81c.,
startKey='1752868451_785774043', getEndKey()='186061631_989857395',
row='1716676661_1231903641'
at
org.apache.hadoop.hbase.regionserver.HRegion.checkRow(HRegion.java:3260)
at
org.apache.hadoop.hbase.regionserver.HRegion.getRowLock(HRegion.java:3278)
at
org.apache.hadoop.hbase.regionserver.HRegion.doMiniBatchMutation(HRegion.java:2213)
at
org.apache.hadoop.hbase.regionserver.HRegion.batchMutate(HRegion.java:2085)
at
org.apache.hadoop.hbase.regionserver.HRegionServer.doBatchOp(HRegionServer.java:4050)
at
org.apache.hadoop.hbase.regionserver.HRegionServer.doNonAtomicRegionMutation(HRegionServer.java:3361)
at
org.apache.hadoop.hbase.regionserver.HRegionServer.multi(HRegionServer.java:3265)
at
org.apache.hadoop.hbase.protobuf.generated.ClientProtos$ClientService$2.callBlockingMethod(ClientProtos.java:26935)
at org.apache.hadoop.hbase.ipc.RpcServer.call(RpcServer.java:2175)
at
org.apache.hadoop.hbase.ipc.RpcServer$Handler.run(RpcServer.java:1879)
I guess maybe the batch put operation happened during the table split, Any
other possible causes and how to prevent it from happening again?