Repository: hbase
Updated Branches:
  refs/heads/0.98 a702be1c8 -> fd10bde5a


HBASE-11868 Data loss in hlog when the hdfs is unavailable (Liu Shaohui)


Project: http://git-wip-us.apache.org/repos/asf/hbase/repo
Commit: http://git-wip-us.apache.org/repos/asf/hbase/commit/fd10bde5
Tree: http://git-wip-us.apache.org/repos/asf/hbase/tree/fd10bde5
Diff: http://git-wip-us.apache.org/repos/asf/hbase/diff/fd10bde5

Branch: refs/heads/0.98
Commit: fd10bde5af20d6db96207cc2e29b779e117acf19
Parents: a702be1
Author: Andrew Purtell <apurt...@apache.org>
Authored: Tue Sep 2 14:34:31 2014 -0700
Committer: Andrew Purtell <apurt...@apache.org>
Committed: Tue Sep 2 14:34:31 2014 -0700

----------------------------------------------------------------------
 .../org/apache/hadoop/hbase/regionserver/wal/FSHLog.java | 11 +++++------
 1 file changed, 5 insertions(+), 6 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/hbase/blob/fd10bde5/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/wal/FSHLog.java
----------------------------------------------------------------------
diff --git 
a/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/wal/FSHLog.java
 
b/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/wal/FSHLog.java
index 594002d..ee22bb4 100644
--- 
a/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/wal/FSHLog.java
+++ 
b/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/wal/FSHLog.java
@@ -1350,17 +1350,16 @@ class FSHLog implements HLog, Syncable {
       while (this.syncedTillHere.get() < txid) {
         try {
           this.syncedTillHere.wait();
-
-          if (txid <= this.failedTxid.get()) {
-            assert asyncIOE != null :
-              "current txid is among(under) failed txids, but asyncIOE is 
null!";
-            throw asyncIOE;
-          }
         } catch (InterruptedException e) {
           LOG.debug("interrupted while waiting for notification from 
AsyncNotifier");
         }
       }
     }
+    if (txid <= this.failedTxid.get()) {
+        assert asyncIOE != null :
+          "current txid is among(under) failed txids, but asyncIOE is null!";
+        throw asyncIOE;
+    }
   }
 
   @Override

Reply via email to