[ 
https://issues.apache.org/jira/browse/HADOOP-2637?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12559975#action_12559975
 ] 

Bryan Duxbury commented on HADOOP-2637:
---------------------------------------

Just so I know I'm reading the exception correctly, this indicates that it's 
trying to operate on a region that spans from 0000103481 to 0000163328, and the 
row we're trying to commit on is actually the end key, right?

Well, looking over the location caching code, it can't be that, because it 
specifically tests for < endKey. That means that you had to get this wrong 
region directly from the .META. region. The methods for doing that don't check 
to see if the key you are trying to locate is > endKey of the regioninfo we 
bring back. We could add this check, but I'm not sure it would be much help. 
We're using getClosestRowBefore to figure out what key in the .META. to query 
for region info, and if it's coming back with the region immediately before it, 
the only thing I could think that would be happening is it's in the middle of a 
write or something and hasn't written the new regioninfo row yet. Otherwise, it 
should come up. 

Did you see lots of these errors, or just one? Not that it's excusable at any 
rate, but if it's pretty frequent, it'd mean there was a much larger problem 
than if this was incidental.

> [hbase] WrongRegionException looks suspiciously like client region selection 
> is doing its calc. wrong
> -----------------------------------------------------------------------------------------------------
>
>                 Key: HADOOP-2637
>                 URL: https://issues.apache.org/jira/browse/HADOOP-2637
>             Project: Hadoop
>          Issue Type: Bug
>          Components: contrib/hbase
>            Reporter: stack
>            Priority: Minor
>
> I got this this evening:
> {code}
> 08/01/17 05:57:06 ERROR hbase.PerformanceEvaluation: Failed
> org.apache.hadoop.hbase.WrongRegionException: 
> org.apache.hadoop.hbase.WrongRegionException: Requested row out of range for 
> HRegion TestTable,0000103481,1200548919843, startKey='0000103481', 
> getEndKey()='0000163328', row='0000163328'
>         at org.apache.hadoop.hbase.HRegion.checkRow(HRegion.java:1491)
>         at org.apache.hadoop.hbase.HRegion.obtainRowLock(HRegion.java:1536)
>         at org.apache.hadoop.hbase.HRegion.batchUpdate(HRegion.java:1231)
>         at 
> org.apache.hadoop.hbase.HRegionServer.batchUpdate(HRegionServer.java:1497)
>         at sun.reflect.GeneratedMethodAccessor2.invoke(Unknown Source)
>         at 
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>         at java.lang.reflect.Method.invoke(Method.java:597)
>         at org.apache.hadoop.hbase.ipc.HbaseRPC$Server.call(HbaseRPC.java:413)
>         at org.apache.hadoop.ipc.Server$Handler.run(Server.java:908)
>         at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native 
> Method)
>         at 
> sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
>         at 
> sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
>         at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
>         at 
> org.apache.hadoop.hbase.RemoteExceptionHandler.decodeRemoteException(RemoteExceptionHandler.java:82)
>         at org.apache.hadoop.hbase.HTable.commit(HTable.java:968)
>         at org.apache.hadoop.hbase.HTable.commit(HTable.java:939)
>         at 
> org.apache.hadoop.hbase.PerformanceEvaluation$SequentialWriteTest.testRow(PerformanceEvaluation.java:461)
>         at 
> org.apache.hadoop.hbase.PerformanceEvaluation$Test.test(PerformanceEvaluation.java:329)
>         at 
> org.apache.hadoop.hbase.PerformanceEvaluation.runOneClient(PerformanceEvaluation.java:525)
>         at 
> org.apache.hadoop.hbase.PerformanceEvaluation.runNIsOne(PerformanceEvaluation.java:546)
>         at 
> org.apache.hadoop.hbase.PerformanceEvaluation.runTest(PerformanceEvaluation.java:568)
>         at 
> org.apache.hadoop.hbase.PerformanceEvaluation.doCommandLine(PerformanceEvaluation.java:663)
>         at 
> org.apache.hadoop.hbase.PerformanceEvaluation.main(PerformanceEvaluation.java:682)
> ..
> {code}
> We seem to be asking for the endkey on a region rather than asking for the 
> next region, the one that has the asked-for row as its start key.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to