[
https://issues.apache.org/jira/browse/HBASE-2933?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Nicolas Spiegelberg updated HBASE-2933:
---------------------------------------
Attachment: HBASE-2933.patch
Handles EOFE and the IOE that was mentioned by stack. The SequenceFile.Reader
has a few more IOEs, so this isn't 100% fail-proof. The general problem we
seem to have is that we need to differentiate between a Network IOE and a File
Format IOE. A File Format IOE is idempotent, where a Network IOE may not be.
Network = we need to fail and let another server try to take over
FileFormat = our file was written or parsed incorrectly. retrying won't fix
anything. We need to just open what we have and store the original file away
for later analysis.
> Skip EOF Errors during Log Recovery
> -----------------------------------
>
> Key: HBASE-2933
> URL: https://issues.apache.org/jira/browse/HBASE-2933
> Project: HBase
> Issue Type: Bug
> Reporter: Nicolas Spiegelberg
> Assignee: Nicolas Spiegelberg
> Priority: Critical
> Fix For: 0.90.0
>
> Attachments: HBASE-2933.patch
>
>
> While testing a cluster, we hit upon the following assert during region
> assigment. We were killing the master during a long run of splits. We think
> what happened is that the HMaster was killed while splitting, woke up & split
> again. If this happens, we will have 2 files: 1 partially written and 1
> complete one. Since encountering partial log splits upon Master failure is
> considered normal behavior, we should continue at the RS level if we
> encounter an EOFException & not an filesystem-level exception, even with
> skip.errors == false.
> 2010-08-20 16:59:07,718 ERROR
> org.apache.hadoop.hbase.regionserver.HRegionServer: Error opening
> MailBox_dsanduleac,57db45276ece7ce03ef7e8d9969eb189:[email protected],1280960828959.7c542d24d4496e273b739231b01885e6.
> java.io.EOFException
> at java.io.DataInputStream.readInt(DataInputStream.java:375)
> at
> org.apache.hadoop.io.SequenceFile$Reader.readRecordLength(SequenceFile.java:1902)
> at
> org.apache.hadoop.io.SequenceFile$Reader.next(SequenceFile.java:1932)
> at
> org.apache.hadoop.io.SequenceFile$Reader.next(SequenceFile.java:1837)
> at
> org.apache.hadoop.io.SequenceFile$Reader.next(SequenceFile.java:1883)
> at
> org.apache.hadoop.hbase.regionserver.wal.SequenceFileLogReader.next(SequenceFileLogReader.java:121)
> at
> org.apache.hadoop.hbase.regionserver.wal.SequenceFileLogReader.next(SequenceFileLogReader.java:113)
> at
> org.apache.hadoop.hbase.regionserver.HRegion.replayRecoveredEdits(HRegion.java:1981)
> at
> org.apache.hadoop.hbase.regionserver.HRegion.replayRecoveredEdits(HRegion.java:1956)
> at
> org.apache.hadoop.hbase.regionserver.HRegion.replayRecoveredEditsIfAny(HRegion.java:1915)
> at
> org.apache.hadoop.hbase.regionserver.HRegion.initialize(HRegion.java:344)
> at
> org.apache.hadoop.hbase.regionserver.HRegionServer.instantiateRegion(HRegionServer.java:1490)
> at
> org.apache.hadoop.hbase.regionserver.HRegionServer.openRegion(HRegionServer.java:1437)
> at
> org.apache.hadoop.hbase.regionserver.HRegionServer$Worker.run(HRegionServer.java:1345)
> at java.lang.Thread.run(Thread.java:619)
> 2010-08-20 16:59:07,719 ERROR
> org.apache.hadoop.hbase.regionserver.RSZookeeperUpdater: Aborting open of
> region 7c542d24d4496e273b739231b01885e6
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.