HADOOP-12829. StatisticsDataReferenceCleaner swallows interrupt exceptions (Gregory Chanan via cmccabe)

(cherry picked from commit d9c409a428)
This commit is contained in:
Colin Patrick Mccabe 2016-02-23 11:11:22 -08:00
parent e3ce0ffdc3
commit 7dfcf40352
2 changed files with 8 additions and 4 deletions

View File

@ -66,6 +66,9 @@ Release 2.9.0 - UNRELEASED
HADOOP-12712. Fix some cmake plugin and native build warnings (cmccabe)
HADOOP-12829. StatisticsDataReferenceCleaner swallows interrupt exceptions
(Gregory Chanan via cmccabe)
Release 2.8.0 - UNRELEASED
INCOMPATIBLE CHANGES

View File

@ -3170,15 +3170,16 @@ public abstract class FileSystem extends Configured implements Closeable {
private static class StatisticsDataReferenceCleaner implements Runnable {
@Override
public void run() {
while (true) {
while (!Thread.interrupted()) {
try {
StatisticsDataReference ref =
(StatisticsDataReference)STATS_DATA_REF_QUEUE.remove();
ref.cleanUp();
} catch (InterruptedException ie) {
LOG.warn("Cleaner thread interrupted, will stop", ie);
Thread.currentThread().interrupt();
} catch (Throwable th) {
// the cleaner thread should continue to run even if there are
// exceptions, including InterruptedException
LOG.warn("exception in the cleaner thread but it will continue to "
LOG.warn("Exception in the cleaner thread but it will continue to "
+ "run", th);
}
}