WrongRegionException should be like NSRE exception?
---------------------------------------------------
Key: HBASE-459
URL: https://issues.apache.org/jira/browse/HBASE-459
Project: Hadoop HBase
Issue Type: Bug
Components: regionserver
Affects Versions: 0.1.0, 0.2.0
Reporter: stack
Priority: Blocker
Jim was just running a loading test. It failed because of a
WrongRegionException. At first I thought it HBASE-428 -- because we were
making regions w/ same start and end key -- but looking closer, it looks like
the client is getting a WRE thought its making a legitimate request; it just
happens to be asking for a row from the top-half of a region just as it split.
I would think that on WRE, the client would at least retry in same manner in
which it does when it gets a NSRE?
Here is the split detail:
{code}
2008-02-21 19:15:11,747 INFO [regionserver/0:0:0:0:0:0:0:0:8020.compactor]
hbase.HRegionServer$CompactSplitThread(345): region split, META updated, and
report to master all successful. Old region=regionname:
TestTable,0018951818,1203620807290, startKey: <0018951818>, endKey:
<0022085183>, encodedName: 1601381187, offline: true, split: true, tableDesc:
{name: TestTable, families: {info:={name: info, max versions: 3, compression:
NONE, in memory: false, block cache enabled: false, max length: 2147483647,
bloom filter: none}}}, new regions: TestTable,0018951818,1203621311590,
TestTable,0020990296,1203621311590. Split took 0sec
{code}
Here is the WRE:
{code}
org.apache.hadoop.hbase.WrongRegionException:
org.apache.hadoop.hbase.WrongRegionException: Requested row out of range for
HRegion TestTable,0018951818,1203620807290, startKey='0018951818',
getEndKey()='0022085183', row='0062914560'
at org.apache.hadoop.hbase.HRegion.checkRow(HRegion.java:1496)
at org.apache.hadoop.hbase.HRegion.obtainRowLock(HRegion.java:1541)
at org.apache.hadoop.hbase.HRegion.batchUpdate(HRegion.java:1236)
at
org.apache.hadoop.hbase.HRegionServer.batchUpdate(HRegionServer.java:1450)
at sun.reflect.GeneratedMethodAccessor3.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.apache.hadoop.hbase.ipc.HbaseRPC$Server.call(HbaseRPC.java:413)
at org.apache.hadoop.ipc.Server$Handler.run(Server.java:910)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown
Source)
at java.lang.reflect.Constructor.newInstance(Unknown Source)
at
org.apache.hadoop.hbase.RemoteExceptionHandler.decodeRemoteException(RemoteExceptionHandler.java:82)
at
org.apache.hadoop.hbase.client.HTable.getRegionServerWithRetries(HTable.java:1008)
at org.apache.hadoop.hbase.client.HTable.commit(HTable.java:751)
at org.apache.hadoop.hbase.client.HTable.commit(HTable.java:740)
at org.apache.hadoop.hbase.client.HTable.commit(HTable.java:721)
at
org.apache.hadoop.hbase.PerformanceEvaluation$SequentialWriteTest.testRow(PerformanceEvaluation.java:463)
at
org.apache.hadoop.hbase.PerformanceEvaluation$Test.test(PerformanceEvaluation.java:331)
at
org.apache.hadoop.hbase.PerformanceEvaluation.runOneClient(PerformanceEvaluation.java:527)
at
org.apache.hadoop.hbase.PerformanceEvaluation$EvaluationMapTask.map(PerformanceEvaluation.java:176)
at org.apache.hadoop.mapred.MapRunner.run(MapRunner.java:50)
at org.apache.hadoop.mapred.MapTask.run(MapTask.java:208)
at
org.apache.hadoop.mapred.TaskTracker$Child.main(TaskTracker.java:2071)
{code}
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.