You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hbase.apache.org by st...@apache.org on 2010/04/02 01:00:20 UTC
svn commit: r930129 - in /hadoop/hbase/trunk: CHANGES.txt
core/src/main/java/org/apache/hadoop/hbase/regionserver/wal/HLog.java
Author: stack
Date: Thu Apr 1 23:00:20 2010
New Revision: 930129
URL: http://svn.apache.org/viewvc?rev=930129&view=rev
Log:
HBASE-2398 NPE in HLog.append when calling writer.getLength
Modified:
hadoop/hbase/trunk/CHANGES.txt
hadoop/hbase/trunk/core/src/main/java/org/apache/hadoop/hbase/regionserver/wal/HLog.java
Modified: hadoop/hbase/trunk/CHANGES.txt
URL: http://svn.apache.org/viewvc/hadoop/hbase/trunk/CHANGES.txt?rev=930129&r1=930128&r2=930129&view=diff
==============================================================================
--- hadoop/hbase/trunk/CHANGES.txt (original)
+++ hadoop/hbase/trunk/CHANGES.txt Thu Apr 1 23:00:20 2010
@@ -261,6 +261,8 @@ Release 0.21.0 - Unreleased
different address/startcode than SCAN"
HBASE-2361 WALEdit broke replication scope
HBASE-2365 Double-assignment around split
+ HBASE-2398 NPE in HLog.append when calling writer.getLength
+ (Kannan Muthukkaruppan via Stack)
IMPROVEMENTS
HBASE-1760 Cleanup TODOs in HTable
Modified: hadoop/hbase/trunk/core/src/main/java/org/apache/hadoop/hbase/regionserver/wal/HLog.java
URL: http://svn.apache.org/viewvc/hadoop/hbase/trunk/core/src/main/java/org/apache/hadoop/hbase/regionserver/wal/HLog.java?rev=930129&r1=930128&r2=930129&view=diff
==============================================================================
--- hadoop/hbase/trunk/core/src/main/java/org/apache/hadoop/hbase/regionserver/wal/HLog.java (original)
+++ hadoop/hbase/trunk/core/src/main/java/org/apache/hadoop/hbase/regionserver/wal/HLog.java Thu Apr 1 23:00:20 2010
@@ -673,12 +673,6 @@ public class HLog implements HConstants,
// sync txn to file system
this.sync(isMetaRegion);
-
- if (this.writer.getLength() > this.logrollsize) {
- if (listener != null) {
- listener.logRollRequested();
- }
- }
}
/**
@@ -729,9 +723,6 @@ public class HLog implements HConstants,
}
// sync txn to file system
this.sync(info.isMetaRegion());
- if (this.writer.getLength() > this.logrollsize) {
- requestLogRoll();
- }
}
/**
@@ -840,6 +831,7 @@ public class HLog implements HConstants,
if (this.closed) {
return;
}
+ boolean logRollRequested = false;
if (this.forceSync ||
this.unflushedEntries.get() >= this.flushlogentries) {
try {
@@ -849,12 +841,17 @@ public class HLog implements HConstants,
syncOps++;
this.forceSync = false;
this.unflushedEntries.set(0);
+ // TODO: HBASE-2401
} catch (IOException e) {
LOG.fatal("Could not append. Requesting close of hlog", e);
requestLogRoll();
throw e;
}
}
+
+ if (!logRollRequested && (this.writer.getLength() > this.logrollsize)) {
+ requestLogRoll();
+ }
}
}