hbase-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "stack (JIRA)" <j...@apache.org>
Subject [jira] Updated: (HBASE-2461) Split doesn't handle IOExceptions when creating new region reference files
Date Tue, 03 Aug 2010 20:27:21 GMT

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

stack updated HBASE-2461:

    Attachment: 2461-v8.txt

Includes minor fix where we weren't returning if failure doing rollback.

I looked at adding test failing a split on a running cluster but the contortions are too extreme
-- CompactSplitThread is created in HRS#reinitialize() -- and then our split is run inside
in CST#split so we'd need to put in place first our own CST and then, CST has to be subclassable
or amenable to injection.  Currently it is not.  So, I could mess w/ making what we load for
CST configurable but then what about the other threads, LogRoller, the Worker thread, etc.,
why not make them configurable while I'm at it.

...but then I shouldn't even be doing this.  There are containers that will stitch it all
together for us and that can be easily changed at test time to run an alternative.  See http://www.picocontainer.org/
or spring

And the RS and Master are about to change w/ master rewrite.

I'm going to pass on trying to test split failure on running cluster till at least after master
rewrite goes in.

> Split doesn't handle IOExceptions when creating new region reference files
> --------------------------------------------------------------------------
>                 Key: HBASE-2461
>                 URL: https://issues.apache.org/jira/browse/HBASE-2461
>             Project: HBase
>          Issue Type: Bug
>          Components: regionserver
>            Reporter: Todd Lipcon
>            Assignee: stack
>            Priority: Blocker
>             Fix For: 0.90.0
>         Attachments: 2461-v2.txt, 2461-v3.txt, 2461-v4.txt, 2461-v6.txt, 2461-v7.txt,
2461-v8.txt, 2461.txt, ugly_but_might_work.txt
> I was testing an HDFS patch which had a bug in it, so it happened to throw an NPE during
a split with the following trace:
> 2010-04-16 19:18:20,727 ERROR org.apache.hadoop.hbase.regionserver.CompactSplitThread:
Compaction failed for region TestTable,-1945465867<1271449232310>,1271453785648
> java.lang.NullPointerException
>         at org.apache.hadoop.hdfs.DFSClient$DFSOutputStream.enqueueCurrentPacket(DFSClient.java:3124)
>         at org.apache.hadoop.hdfs.DFSClient$DFSOutputStream.flushInternal(DFSClient.java:3220)
>         at org.apache.hadoop.hdfs.DFSClient$DFSOutputStream.closeInternal(DFSClient.java:3306)
>         at org.apache.hadoop.hdfs.DFSClient$DFSOutputStream.close(DFSClient.java:3255)
>         at org.apache.hadoop.fs.FSDataOutputStream$PositionCache.close(FSDataOutputStream.java:61)
>         at org.apache.hadoop.fs.FSDataOutputStream.close(FSDataOutputStream.java:86)
>         at org.apache.hadoop.fs.FileSystem.createNewFile(FileSystem.java:560)
>         at org.apache.hadoop.hbase.util.FSUtils.create(FSUtils.java:95)
>         at org.apache.hadoop.hbase.io.Reference.write(Reference.java:129)
>         at org.apache.hadoop.hbase.regionserver.StoreFile.split(StoreFile.java:498)
>         at org.apache.hadoop.hbase.regionserver.HRegion.splitRegion(HRegion.java:682)
>         at org.apache.hadoop.hbase.regionserver.CompactSplitThread.split(CompactSplitThread.java:162)
>         at org.apache.hadoop.hbase.regionserver.CompactSplitThread.run(CompactSplitThread.java:95)
> After that, my region was gone, any further writes to it would fail.

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

View raw message