Index: src/main/java/org/apache/hadoop/hbase/util/FSHDFSUtils.java =================================================================== --- src/main/java/org/apache/hadoop/hbase/util/FSHDFSUtils.java (revision 1470383) +++ src/main/java/org/apache/hadoop/hbase/util/FSHDFSUtils.java (working copy) @@ -73,6 +73,9 @@ long recoveryTimeout = conf.getInt("hbase.lease.recovery.timeout", 300000); // conf parameter passed from unit test, indicating whether fs.append() should be triggered boolean triggerAppend = conf.getBoolean(TEST_TRIGGER_DFS_APPEND, false); + // retrying lease recovery may preempt pending lease recovery; default to waiting for 4 seconds + // after calling recoverLease + int interval = conf.getInt("hbase.lease.recovery.interval", 4000); Exception ex = null; while (!recovered) { try { @@ -123,13 +126,14 @@ } } try { - Thread.sleep(1000); + Thread.sleep(interval); } catch (InterruptedException ie) { InterruptedIOException iioe = new InterruptedIOException(); iioe.initCause(ie); throw iioe; } + break; } - LOG.info("Finished lease recover attempt for " + p); + LOG.info("Finished lease recovery attempt for " + p); } }