HBASE-10522 Correct wrong handling and add proper handling for swallowed InterruptedException thrown by Thread.sleep in client (Feng Honghua)
git-svn-id: https://svn.apache.org/repos/asf/hbase/trunk@1570216 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
parent
1d52d528c9
commit
2476afbcb2
|
@ -696,7 +696,8 @@ public class HBaseAdmin implements Abortable, Closeable {
|
||||||
try {
|
try {
|
||||||
Thread.sleep(getPauseTime(tries));
|
Thread.sleep(getPauseTime(tries));
|
||||||
} catch (InterruptedException e) {
|
} catch (InterruptedException e) {
|
||||||
// continue
|
throw new InterruptedIOException("Interrupted when waiting" +
|
||||||
|
" for table to be deleted");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -2708,10 +2709,8 @@ public class HBaseAdmin implements Abortable, Closeable {
|
||||||
LOG.debug("(#" + tries + ") Sleeping: " + sleep +
|
LOG.debug("(#" + tries + ") Sleeping: " + sleep +
|
||||||
"ms while waiting for snapshot completion.");
|
"ms while waiting for snapshot completion.");
|
||||||
Thread.sleep(sleep);
|
Thread.sleep(sleep);
|
||||||
|
|
||||||
} catch (InterruptedException e) {
|
} catch (InterruptedException e) {
|
||||||
LOG.debug("Interrupted while waiting for snapshot " + snapshot + " to complete");
|
throw (InterruptedIOException)new InterruptedIOException("Interrupted").initCause(e);
|
||||||
Thread.currentThread().interrupt();
|
|
||||||
}
|
}
|
||||||
LOG.debug("Getting current status of snapshot from master...");
|
LOG.debug("Getting current status of snapshot from master...");
|
||||||
done = executeCallable(new MasterCallable<IsSnapshotDoneResponse>(getConnection()) {
|
done = executeCallable(new MasterCallable<IsSnapshotDoneResponse>(getConnection()) {
|
||||||
|
@ -2720,7 +2719,7 @@ public class HBaseAdmin implements Abortable, Closeable {
|
||||||
return master.isSnapshotDone(null, request);
|
return master.isSnapshotDone(null, request);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
};
|
}
|
||||||
if (!done.getDone()) {
|
if (!done.getDone()) {
|
||||||
throw new SnapshotCreationException("Snapshot '" + snapshot.getName()
|
throw new SnapshotCreationException("Snapshot '" + snapshot.getName()
|
||||||
+ "' wasn't completed in expectedTime:" + max + " ms", snapshot);
|
+ "' wasn't completed in expectedTime:" + max + " ms", snapshot);
|
||||||
|
@ -3048,10 +3047,8 @@ public class HBaseAdmin implements Abortable, Closeable {
|
||||||
LOG.debug("(#" + tries + ") Sleeping: " + sleep +
|
LOG.debug("(#" + tries + ") Sleeping: " + sleep +
|
||||||
"ms while waiting for procedure completion.");
|
"ms while waiting for procedure completion.");
|
||||||
Thread.sleep(sleep);
|
Thread.sleep(sleep);
|
||||||
|
|
||||||
} catch (InterruptedException e) {
|
} catch (InterruptedException e) {
|
||||||
LOG.debug("Interrupted while waiting for procedure " + signature + " to complete");
|
throw (InterruptedIOException)new InterruptedIOException("Interrupted").initCause(e);
|
||||||
Thread.currentThread().interrupt();
|
|
||||||
}
|
}
|
||||||
LOG.debug("Getting current status of procedure from master...");
|
LOG.debug("Getting current status of procedure from master...");
|
||||||
done = isProcedureFinished(signature, instance, props);
|
done = isProcedureFinished(signature, instance, props);
|
||||||
|
@ -3132,8 +3129,7 @@ public class HBaseAdmin implements Abortable, Closeable {
|
||||||
LOG.debug(tries + ") Sleeping: " + sleep + " ms while we wait for snapshot restore to complete.");
|
LOG.debug(tries + ") Sleeping: " + sleep + " ms while we wait for snapshot restore to complete.");
|
||||||
Thread.sleep(sleep);
|
Thread.sleep(sleep);
|
||||||
} catch (InterruptedException e) {
|
} catch (InterruptedException e) {
|
||||||
LOG.debug("Interrupted while waiting for snapshot " + snapshot + " restore to complete");
|
throw (InterruptedIOException)new InterruptedIOException("Interrupted").initCause(e);
|
||||||
Thread.currentThread().interrupt();
|
|
||||||
}
|
}
|
||||||
LOG.debug("Getting current status of snapshot restore from master...");
|
LOG.debug("Getting current status of snapshot restore from master...");
|
||||||
done = executeCallable(new MasterCallable<IsRestoreSnapshotDoneResponse>(
|
done = executeCallable(new MasterCallable<IsRestoreSnapshotDoneResponse>(
|
||||||
|
|
|
@ -477,7 +477,9 @@ public class HTableMultiplexer {
|
||||||
try {
|
try {
|
||||||
Thread.sleep(frequency);
|
Thread.sleep(frequency);
|
||||||
} catch (InterruptedException e) {
|
} catch (InterruptedException e) {
|
||||||
} // Ignore
|
LOG.warn("Interrupted while sleeping");
|
||||||
|
Thread.currentThread().interrupt();
|
||||||
|
}
|
||||||
|
|
||||||
long start, elapsed;
|
long start, elapsed;
|
||||||
int failedCount = 0;
|
int failedCount = 0;
|
||||||
|
@ -567,7 +569,12 @@ public class HTableMultiplexer {
|
||||||
elapsed = EnvironmentEdgeManager.currentTimeMillis() - start;
|
elapsed = EnvironmentEdgeManager.currentTimeMillis() - start;
|
||||||
}
|
}
|
||||||
if (elapsed < frequency) {
|
if (elapsed < frequency) {
|
||||||
|
try {
|
||||||
Thread.sleep(frequency - elapsed);
|
Thread.sleep(frequency - elapsed);
|
||||||
|
} catch (InterruptedException e) {
|
||||||
|
LOG.warn("Interrupted while sleeping");
|
||||||
|
Thread.currentThread().interrupt();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
// Log all the exceptions and move on
|
// Log all the exceptions and move on
|
||||||
|
|
Loading…
Reference in New Issue