hbase-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "stack (JIRA)" <j...@apache.org>
Subject [jira] Updated: (HBASE-428) Under continuous upload of rows, WrongRegionExceptions are thrown that reach the client even after retries
Date Sun, 17 Feb 2008 01:11:08 GMT

     [ https://issues.apache.org/jira/browse/HBASE-428?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

stack updated HBASE-428:
------------------------

    Attachment: 428-v3.patch

v3 has more cleanup.  Fixes rare case where if a store file had a single entry only, we were
overwriting the calculated midKey for the region (could be whats wrong w/ our midkey calc.
but wouldn't want to bet on it -- seems like too rare an occurance).

M  src/java/org/apache/hadoop/hbase/HStoreFile.java
    (finalKey) Removed checkKey if trying to get finalKey on top-half
    of a HalfMapFile.  Was failing because it would compare the
    HalfMapFile midkey to the empty passed key into which we're to
    set the mapfile last key.
M src/java/org/apache/hadoop/hbase/HStore.java
    If a return is being done inside the 'if' of an 'if/else', then
    the else is not needed.  Fixed two of these.  Removed commented
    out logging.  Rewrote a cumbersome if/else as a ?:.
    Removed unused rowKey assignment. Removed unnecessary casts.
    Renamed localvariable midkey as mk because it was too close
    to the passed in arg midKey.  Do NOT copy
    midkey/mk before test that it was equal to start/end keys. A
    store could have a midkey/mk that equaled region start/end keys
    and we were nonetheless overwriting midKey, the passed in
    arg.
M src/java/org/apache/hadoop/hbase/HRegionServer.java
    Removed commented out code.  Output full regioninfo when splitting
    so can see start and end keys, etc.
M  src/java/org/apache/hadoop/hbase/HRegion.java
    If end or start key matches mid key, don't split.

> Under continuous upload of rows, WrongRegionExceptions are thrown that reach the client
even after retries
> ----------------------------------------------------------------------------------------------------------
>
>                 Key: HBASE-428
>                 URL: https://issues.apache.org/jira/browse/HBASE-428
>             Project: Hadoop HBase
>          Issue Type: Bug
>          Components: regionserver
>    Affects Versions: 0.1.0, 0.2.0
>         Environment: Linux 2.6.9-67.0.1.ELsmp #1 SMP Wed Dec 19 16:01:12 EST 2007 i686
athlon i386 GNU/Linux
>            Reporter: Marc Harris
>            Assignee: stack
>            Priority: Blocker
>         Attachments: 428-2.patch, 428-v3.patch, 428.patch, filesbysize.csv, lsr, selectfrommeta.txt
>
>
> I have installed 0.16.0 rc 1 which I believe contains a fix for similar issue HBASE-138,
 but I still see the same problem.
> - I am using a single node.
> - The client application runs in a single thread, loading data into a single table.
> - I get good throughput of about 200 rows/sec to start with, with occasional significant
drops due to NotServingRegionException's that are recoverable on client retry (internal to
hbase).
> - After 54 minutes, and about 500,000 rows I start to see WrongRegionException's in the
client application, i.e. real failures. (Note that this compares to 0.15.3 which would being
to throw NotServingRegionExceptions after a few tens of thousands of rows).
> My data consists of a single table with 5 column families. The data written is as follows:>>
> key: a URL
> family 1: a small string, often emty, 2 longs, 1 int
> family 2: a byte averaging averaging between 1k and 10k, a small string
> family 3: several columns with different names per row, values of small strings
> family 4: most rows have zero columns, some rows have 1 or more columns with a UL value
> The URLs are typically "long-ish" URL as seen when crawling a site, not short home page
URLs  
>  
> I am assuming the data is stored in files of the form <hbaseroot>//<tablename>/<9digitnum>/data/mapfiles/<19digitnum>/data.
I have attached a csv file showing the distribution of size of these files. Average size is
19Mb, but the sizes are not evenly distributed at all
> Here are two sample exceptions thrown, copied from the region server log:
> 2008-02-08 02:08:22,495 INFO org.apache.hadoop.ipc.Server: IPC Server handler 4 on 60020,
call batchUpdate(pagefetch,http://galsn1.mobilook.mobiwap.com/bm/listproducts;jsessionid=D2ED1EB898163CDB27135DC2CF6958B3.197B?rsi=78011
wap2 20080102052924,1202401088077, 9223372036854775807, org.apache.hadoop.hbase.io.BatchUpdate@feb215)
from 66.135.42.137:38484: error: org.apache.hadoop.hbase.WrongRegionException: Requested row
out of range for HRegion pagefetch,http://galsn1.mobilook.mobiwap.com/bm/listproducts;jsessionid=D2ED1EB898163CDB27135DC2CF6958B3.197B?rsi=78011
wap2 20080102052924,1202401088077, startKey='http://galsn1.mobilook.mobiwap.com/bm/listproducts;jsessionid=D2ED1EB898163CDB27135DC2CF6958B3.197B?rsi=78011
wap2 20080102052924', getEndKey()='http://galsn1.mobilook.mobiwap.com/bm/listproducts;jsessionid=D2ED1EB898163CDB27135DC2CF6958B3.197B?rsi=78011
wap2 20080102052924', row='http://go2purdue.com/Redeemer_University.cfm?pt=2&sp=2&vid=1199243289_3X02X1468757255&rpt=2&kt=4&kp=1
wap2 20080102081237'
> org.apache.hadoop.hbase.WrongRegionException: Requested row out of range for HRegion
pagefetch,http://galsn1.mobilook.mobiwap.com/bm/listproducts;jsessionid=D2ED1EB898163CDB27135DC2CF6958B3.197B?rsi=78011
wap2 20080102052924,1202401088077, startKey='http://galsn1.mobilook.mobiwap.com/bm/listproducts;jsessionid=D2ED1EB898163CDB27135DC2CF6958B3.197B?rsi=78011
wap2 20080102052924', getEndKey()='http://galsn1.mobilook.mobiwap.com/bm/listproducts;jsessionid=D2ED1EB898163CDB27135DC2CF6958B3.197B?rsi=78011
wap2 20080102052924', row='http://go2purdue.com/Redeemer_University.cfm?pt=2&sp=2&vid=1199243289_3X02X1468757255&rpt=2&kt=4&kp=1
wap2 20080102081237'
>         at org.apache.hadoop.hbase.HRegion.checkRow(HRegion.java:1486)
>         at org.apache.hadoop.hbase.HRegion.obtainRowLock(HRegion.java:1531)
>         at org.apache.hadoop.hbase.HRegion.batchUpdate(HRegion.java:1226)
>         at org.apache.hadoop.hbase.HRegionServer.batchUpdate(HRegionServer.java:1433)
>         at sun.reflect.GeneratedMethodAccessor10.invoke(Unknown Source)
>         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>         at java.lang.reflect.Method.invoke(Method.java:585)
>         at org.apache.hadoop.hbase.ipc.HbaseRPC$Server.call(HbaseRPC.java:413)
>         at org.apache.hadoop.ipc.Server$Handler.run(Server.java:910)
> 2008-02-08 02:08:22,696 INFO org.apache.hadoop.ipc.Server: IPC Server handler 6 on 60020,
call batchUpdate(pagefetch,http://galsn1.mobilook.mobiwap.com/bm/listproducts;jsessionid=D2ED1EB898163CDB27135DC2CF6958B3.197B?rsi=78011
wap2 20080102052924,1202401088077, 9223372036854775807, org.apache.hadoop.hbase.io.BatchUpdate@15d9be1)
from 66.135.42.137:38484: error: org.apache.hadoop.hbase.WrongRegionException: Requested row
out of range for HRegion pagefetch,http://galsn1.mobilook.mobiwap.com/bm/listproducts;jsessionid=D2ED1EB898163CDB27135DC2CF6958B3.197B?rsi=78011
wap2 20080102052924,1202401088077, startKey='http://galsn1.mobilook.mobiwap.com/bm/listproducts;jsessionid=D2ED1EB898163CDB27135DC2CF6958B3.197B?rsi=78011
wap2 20080102052924', getEndKey()='http://galsn1.mobilook.mobiwap.com/bm/listproducts;jsessionid=D2ED1EB898163CDB27135DC2CF6958B3.197B?rsi=78011
wap2 20080102052924', row='http://go2umass.com/Travel.cfm?pt=2&sp=2&vid=1199230721_3X04X1485302803&rpt=2&kt=5&kp=8
wap2 20080102081239'
> org.apache.hadoop.hbase.WrongRegionException: Requested row out of range for HRegion
pagefetch,http://galsn1.mobilook.mobiwap.com/bm/listproducts;jsessionid=D2ED1EB898163CDB27135DC2CF6958B3.197B?rsi=78011
wap2 20080102052924,1202401088077, startKey='http://galsn1.mobilook.mobiwap.com/bm/listproducts;jsessionid=D2ED1EB898163CDB27135DC2CF6958B3.197B?rsi=78011
wap2 20080102052924', getEndKey()='http://galsn1.mobilook.mobiwap.com/bm/listproducts;jsessionid=D2ED1EB898163CDB27135DC2CF6958B3.197B?rsi=78011
wap2 20080102052924', row='http://go2umass.com/Travel.cfm?pt=2&sp=2&vid=1199230721_3X04X1485302803&rpt=2&kt=5&kp=8
wap2 20080102081239'
>         at org.apache.hadoop.hbase.HRegion.checkRow(HRegion.java:1486)
>         at org.apache.hadoop.hbase.HRegion.obtainRowLock(HRegion.java:1531)
>         at org.apache.hadoop.hbase.HRegion.batchUpdate(HRegion.java:1226)
>         at org.apache.hadoop.hbase.HRegionServer.batchUpdate(HRegionServer.java:1433)
>         at sun.reflect.GeneratedMethodAccessor10.invoke(Unknown Source)
>         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>         at java.lang.reflect.Method.invoke(Method.java:585)
>         at org.apache.hadoop.hbase.ipc.HbaseRPC$Server.call(HbaseRPC.java:413)
>         at org.apache.hadoop.ipc.Server$Handler.run(Server.java:910)

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


Mime
View raw message