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();
+      }
     }
   }