Author: stack
Date: Mon Mar 31 13:47:47 2008
New Revision: 643142
URL: http://svn.apache.org/viewvc?rev=643142&view=rev
Log:
HBASE-551 Master stuck splitting server logs in shutdown loop;
on eachiteration, edits are aggregated up into the millions
M src/java/org/apache/hadoop/hbase/HLog.java
(splitLog): If an exception processing a split, catch it.
In finally, close and delete the split. Don't try retrying.
While in some circumstance, we might recover, its also
likely that we just get same exception again. If so, and
multiple files, we'll just accumulate edits until the
kingdom comes.
Modified:
hadoop/hbase/trunk/CHANGES.txt
hadoop/hbase/trunk/src/java/org/apache/hadoop/hbase/regionserver/HLog.java
Modified: hadoop/hbase/trunk/CHANGES.txt
URL:
http://svn.apache.org/viewvc/hadoop/hbase/trunk/CHANGES.txt?rev=643142&r1=643141&r2=643142&view=diff
==============================================================================
--- hadoop/hbase/trunk/CHANGES.txt (original)
+++ hadoop/hbase/trunk/CHANGES.txt Mon Mar 31 13:47:47 2008
@@ -1,5 +1,12 @@
Hbase Change Log
+ BUG FIXES
+ HBASE-550 EOF trying to read reconstruction log stops region deployment
+ HBASE-551 Master stuck splitting server logs in shutdown loop; on each
+ iteration, edits are aggregated up into the millions
+
+Release 0.1.0
+
INCOMPATIBLE CHANGES
HBASE-288 Add in-memory caching of data. Required update of hadoop to
0.17.0-dev.2008-02-07_12-01-58. (Tom White via Stack)
@@ -105,7 +112,6 @@
HBASE-529 RegionServer needs to recover if datanode goes down
HBASE-456 Clearly state which ports need to be opened in order to run
HBase
HBASE-536 Remove MiniDFS startup from MiniHBaseCluster
- HBASE-550 EOF trying to read reconstruction log stops region deployment
Branch 0.1
Modified:
hadoop/hbase/trunk/src/java/org/apache/hadoop/hbase/regionserver/HLog.java
URL:
http://svn.apache.org/viewvc/hadoop/hbase/trunk/src/java/org/apache/hadoop/hbase/regionserver/HLog.java?rev=643142&r1=643141&r2=643142&view=diff
==============================================================================
--- hadoop/hbase/trunk/src/java/org/apache/hadoop/hbase/regionserver/HLog.java
(original)
+++ hadoop/hbase/trunk/src/java/org/apache/hadoop/hbase/regionserver/HLog.java
Mon Mar 31 13:47:47 2008
@@ -596,8 +596,21 @@
if (LOG.isDebugEnabled()) {
LOG.debug("Applied " + count + " total edits");
}
+ } catch (IOException e) {
+ LOG.warn("Exception processing " + logfiles[i].getPath() +
+ " -- continuing. Possible DATA LOSS!", e);
} finally {
- in.close();
+ try {
+ in.close();
+ } catch (IOException e) {
+ LOG.warn("Close in finally threw exception -- continuing", e);
+ }
+ // Delete the input file now so we do not replay edits. We could
+ // have gotten here because of an exception. If so, probably
+ // nothing we can do about it. Replaying it, it could work but we
+ // could be stuck replaying for ever. Just continue though we
+ // could have lost some edits.
+ fs.delete(logfiles[i].getPath());
}
}
} finally {