[ 
https://issues.apache.org/jira/browse/HBASE-236?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12571821#action_12571821
 ] 

Jim Kellerman commented on HBASE-236:
-------------------------------------

The worker thread will no longer exit.

However, we still need to deal with bad files.

HLog can handle zero length log files in splitLog. 

HStoreFile still needs to be made more robust. There are up to 3 files in each 
HStoreFile:
- the mapFile
- the infoFile
- bloomFilter file (optional)

For this immediate problem, HStore.loadHStoreFiles should throw an error if one 
of these files does not exist or is zero length (ignoring the bloomFilter file 
if the column is not configured with one). This would be caught by the worker 
thread, which would mark the region offline in the meta (so the master won't 
try to reassign it) and the region server should tell the master about the bad 
region. The master (and/or) region server needs to notify the user (How? People 
complain about stuff like this only being in the logs. In the web ui? On 
stdout?)

Moving forward, the user should be directed to run HBase-fsck (or whatever it 
will be called).

Additionally, if we are going to create our own 'mapFile' format, why not 
combine all of these into a single file? Seems kind of silly to have those 
little info files around, and there is no reason that a bloom filter couldn't 
be stored in the same file as well.

> [hbase] NPE on failed open of region
> ------------------------------------
>
>                 Key: HBASE-236
>                 URL: https://issues.apache.org/jira/browse/HBASE-236
>             Project: Hadoop HBase
>          Issue Type: Bug
>          Components: regionserver
>            Reporter: stack
>            Assignee: Jim Kellerman
>             Fix For: 0.2.0
>
>
> From Bryan Duxbury supplied log:
> {code}
>    1044 2007-12-15 04:37:56,052 INFO org.apache.hadoop.hbase.HRegionServer: 
> MSG_REGION_OPEN : spider_pages,7_202623541,1197662034823
>    1045 2007-12-15 04:37:56,060 ERROR org.apache.hadoop.hbase.HRegionServer: 
> error opening region spider_pages,7_202623541,1197662034823
>    1046 java.io.EOFException
>    1047     at java.io.DataInputStream.readByte(DataInputStream.java:250)
>    1048     at 
> org.apache.hadoop.hbase.HStoreFile.loadInfo(HStoreFile.java:594)
>    1049     at org.apache.hadoop.hbase.HStore.<init>(HStore.java:613)
>    1050     at org.apache.hadoop.hbase.HRegion.<init>(HRegion.java:287)
>    1051     at 
> org.apache.hadoop.hbase.HRegionServer.openRegion(HRegionServer.java:1182)
>    1052     at 
> org.apache.hadoop.hbase.HRegionServer$Worker.run(HRegionServer.java:1133)
>    1053     at java.lang.Thread.run(Thread.java:619)
>    1054 2007-12-15 04:37:56,061 FATAL org.apache.hadoop.hbase.HRegionServer: 
> Unhandled exception                                                           
>                                                                               
>                                                                               
>         1055 java.lang.NullPointerException
>    1056     at 
> org.apache.hadoop.hbase.HRegionServer.reportClose(HRegionServer.java:1066)
>    1057     at 
> org.apache.hadoop.hbase.HRegionServer.openRegion(HRegionServer.java:1188)
>    1058     at 
> org.apache.hadoop.hbase.HRegionServer$Worker.run(HRegionServer.java:1133)
>    1059     at java.lang.Thread.run(Thread.java:619)
>    1060 2007-12-15 04:37:56,061 INFO org.apache.hadoop.hbase.HRegionServer: 
> worker thread exiting
> {code}
> I see same exception when we try to deploy same region on another server; the 
> info file must be horked (Seems like something we could recover from reading 
> through looking for highest sequence number; would be expensive but 
> alternative is lost region).

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