[ 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.