From 03fda6dcbe8d9c40211640fab1e4b16b0ce51007 Mon Sep 17 00:00:00 2001 From: Wei-Chiu Chuang Date: Thu, 5 Apr 2018 14:11:29 -0700 Subject: [PATCH] HBASE-20338 WALProcedureStore#recoverLease() should have fixed sleeps for retrying rollWriter() --- .../hadoop/hbase/procedure2/store/wal/WALProcedureStore.java | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/hbase-procedure/src/main/java/org/apache/hadoop/hbase/procedure2/store/wal/WALProcedureStore.java b/hbase-procedure/src/main/java/org/apache/hadoop/hbase/procedure2/store/wal/WALProcedureStore.java index 8581d82..a19aa35 100644 --- a/hbase-procedure/src/main/java/org/apache/hadoop/hbase/procedure2/store/wal/WALProcedureStore.java +++ b/hbase-procedure/src/main/java/org/apache/hadoop/hbase/procedure2/store/wal/WALProcedureStore.java @@ -360,7 +360,16 @@ public class WALProcedureStore extends ProcedureStoreBase { try { LOG.trace("Starting WAL Procedure Store lease recovery"); FileStatus[] oldLogs = getLogFiles(); + boolean afterFirstAttempt = false; while (isRunning()) { + // Don't sleep before first attempt + if (afterFirstAttempt) { + LOG.trace("Sleep {} ms after first lease recovery attempt.", + waitBeforeRoll); + Threads.sleepWithoutInterrupt(waitBeforeRoll); + } else { + afterFirstAttempt = true; + } // Get Log-MaxID and recover lease on old logs try { flushLogId = initOldLogs(oldLogs); -- 2.5.3