HDFS-12152: [SPS]: Re-arrange StoragePolicySatisfyWorker stopping sequence to improve thread cleanup time. Contributed by Rakesh R.

This commit is contained in:
Uma Maheswara Rao G 2017-07-19 00:55:26 -07:00 committed by Uma Maheswara Rao Gangumalla
parent 4bcf61c696
commit 3b601f2c0e
2 changed files with 15 additions and 6 deletions

View File

@ -77,7 +77,8 @@ public void run() {
moverTaskFutures.wait(2000);
}
} catch (InterruptedException ignore) {
// ignore
// Sets interrupt flag of this thread.
Thread.currentThread().interrupt();
}
}
try {
@ -102,12 +103,19 @@ public void run() {
synchronized (moverTaskFutures) {
moverTaskFutures.remove(trackId);
}
// handle completed or inprogress blocks movements per trackId.
blksMovementsStatusHandler.handle(resultPerTrackIdList);
if (running) {
// handle completed or inprogress blocks movements per trackId.
blksMovementsStatusHandler.handle(resultPerTrackIdList);
}
movementResults.remove(trackId);
}
}
} catch (ExecutionException | InterruptedException e) {
} catch (InterruptedException e) {
if (running) {
LOG.error("Exception while moving block replica to target storage"
+ " type", e);
}
} catch (ExecutionException e) {
// TODO: Do we need failure retries and implement the same if required.
LOG.error("Exception while moving block replica to target storage type",
e);

View File

@ -137,8 +137,8 @@ void start() {
* thread.
*/
void stop() {
movementTrackerThread.interrupt();
movementTracker.stopTracking();
movementTrackerThread.interrupt();
}
/**
@ -147,7 +147,8 @@ void stop() {
void waitToFinishWorkerThread() {
try {
movementTrackerThread.join(3000);
} catch (InterruptedException ie) {
} catch (InterruptedException ignore) {
// ignore
}
}