This is an automated email from the ASF dual-hosted git repository.
dineshc pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/hadoop-ozone.git
The following commit(s) were added to refs/heads/master by this push:
new b03d7b4 HDDS-2566. Handle InterruptedException in
ContainerDataScanner (#971)
b03d7b4 is described below
commit b03d7b4287398ed10773b84290749790800e978e
Author: Dinesh Chitlangia <[email protected]>
AuthorDate: Wed May 27 17:25:44 2020 -0400
HDDS-2566. Handle InterruptedException in ContainerDataScanner (#971)
---
.../ozone/container/ozoneimpl/ContainerDataScanner.java | 14 +++++++++-----
1 file changed, 9 insertions(+), 5 deletions(-)
diff --git
a/hadoop-hdds/container-service/src/main/java/org/apache/hadoop/ozone/container/ozoneimpl/ContainerDataScanner.java
b/hadoop-hdds/container-service/src/main/java/org/apache/hadoop/ozone/container/ozoneimpl/ContainerDataScanner.java
index 8f733d5..5e1e5a1 100644
---
a/hadoop-hdds/container-service/src/main/java/org/apache/hadoop/ozone/container/ozoneimpl/ContainerDataScanner.java
+++
b/hadoop-hdds/container-service/src/main/java/org/apache/hadoop/ozone/container/ozoneimpl/ContainerDataScanner.java
@@ -49,6 +49,7 @@ public class ContainerDataScanner extends Thread {
private final Canceler canceler;
private final ContainerDataScrubberMetrics metrics;
private final long dataScanInterval;
+ private static final String NAME_FORMAT = "ContainerDataScanner(%s)";
/**
* True if the thread is stopping.<p/>
@@ -66,7 +67,7 @@ public class ContainerDataScanner extends Thread {
throttler = new HddsDataTransferThrottler(conf.getBandwidthPerVolume());
canceler = new Canceler();
metrics = ContainerDataScrubberMetrics.create(volume.toString());
- setName("ContainerDataScanner(" + volume + ")");
+ setName(String.format(NAME_FORMAT, volume));
setDaemon(true);
}
@@ -82,7 +83,7 @@ public class ContainerDataScanner extends Thread {
metrics.resetNumUnhealthyContainers();
}
LOG.info("{} exiting.", this);
- } catch (Throwable e) {
+ } catch (Exception e) {
LOG.error("{} exiting because of exception ", this, e);
} finally {
if (metrics != null) {
@@ -138,6 +139,8 @@ public class ContainerDataScanner extends Thread {
try {
Thread.sleep(remainingSleep);
} catch (InterruptedException ignored) {
+ LOG.warn("Operation was interrupted.");
+ Thread.currentThread().interrupt();
}
}
}
@@ -162,13 +165,15 @@ public class ContainerDataScanner extends Thread {
public synchronized void shutdown() {
this.stopping = true;
- this.canceler.cancel("ContainerDataScanner("+volume+") is shutting down");
+ this.canceler.cancel(
+ String.format(NAME_FORMAT, volume) + " is shutting down");
this.interrupt();
try {
this.join();
} catch (InterruptedException ex) {
LOG.warn("Unexpected exception while stopping data scanner for volume "
+ volume, ex);
+ Thread.currentThread().interrupt();
}
}
@@ -179,8 +184,7 @@ public class ContainerDataScanner extends Thread {
@Override
public String toString() {
- return "ContainerDataScanner(" + volume +
- ", " + volume.getStorageID() + ")";
+ return String.format(NAME_FORMAT, volume + ", " + volume.getStorageID());
}
private class HddsDataTransferThrottler extends DataTransferThrottler {
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]