hbase-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From zhang...@apache.org
Subject hbase git commit: HBASE-17206 FSHLog may roll a new writer successfully with unflushed entries
Date Thu, 01 Dec 2016 06:22:45 GMT
Repository: hbase
Updated Branches:
  refs/heads/branch-1 b3627ef51 -> c8ea82299


HBASE-17206 FSHLog may roll a new writer successfully with unflushed entries


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

Branch: refs/heads/branch-1
Commit: c8ea82299c945e25e4fc4674d4310dc32a02eaa5
Parents: b3627ef
Author: zhangduo <zhangduo@apache.org>
Authored: Wed Nov 30 21:41:29 2016 +0800
Committer: zhangduo <zhangduo@apache.org>
Committed: Thu Dec 1 14:20:38 2016 +0800

----------------------------------------------------------------------
 .../hadoop/hbase/regionserver/wal/FSHLog.java   | 20 +++++++++++---------
 1 file changed, 11 insertions(+), 9 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/hbase/blob/c8ea8229/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 c92996b..5fd7912 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
@@ -1654,6 +1654,12 @@ public class FSHLog implements WAL {
      */
     private volatile CountDownLatch safePointReleasedLatch = new CountDownLatch(1);
 
+    private void checkIfSyncFailed(SyncFuture syncFuture) throws FailedSyncBeforeLogCloseException
{
+      if (syncFuture.isThrowable()) {
+        throw new FailedSyncBeforeLogCloseException(syncFuture.getThrowable());
+      }
+    }
+
     /**
      * For Thread A to call when it is ready to wait on the 'safe point' to be attained.
      * Thread A will be held in here until Thread B calls {@link #safePointAttained()}
@@ -1664,16 +1670,12 @@ public class FSHLog implements WAL {
      * @return The passed <code>syncFuture</code>
      * @throws FailedSyncBeforeLogCloseException
      */
-    SyncFuture waitSafePoint(final SyncFuture syncFuture)
-    throws InterruptedException, FailedSyncBeforeLogCloseException {
-      while (true) {
-        if (this.safePointAttainedLatch.await(1, TimeUnit.MILLISECONDS)) {
-          break;
-        }
-        if (syncFuture.isThrowable()) {
-          throw new FailedSyncBeforeLogCloseException(syncFuture.getThrowable());
-        }
+    SyncFuture waitSafePoint(SyncFuture syncFuture) throws InterruptedException,
+        FailedSyncBeforeLogCloseException {
+      while (!this.safePointAttainedLatch.await(1, TimeUnit.MILLISECONDS)) {
+        checkIfSyncFailed(syncFuture);
       }
+      checkIfSyncFailed(syncFuture);
       return syncFuture;
     }
 


Mime
View raw message