HDFS-7922. ShortCircuitCache#close is not releasing ScheduledThreadPoolExecutors (Rakesh R via Colin P. McCabe)
This commit is contained in:
parent
c94d594a57
commit
3c7adaaf35
@ -409,6 +409,9 @@ Release 2.8.0 - UNRELEASED
|
|||||||
HDFS-6945. BlockManager should remove a block from excessReplicateMap and
|
HDFS-6945. BlockManager should remove a block from excessReplicateMap and
|
||||||
decrement ExcessBlocks metric when the block is removed. (aajisaka)
|
decrement ExcessBlocks metric when the block is removed. (aajisaka)
|
||||||
|
|
||||||
|
HDFS-7922. ShortCircuitCache#close is not releasing
|
||||||
|
ScheduledThreadPoolExecutors (Rakesh R via Colin P. McCabe)
|
||||||
|
|
||||||
Release 2.7.0 - UNRELEASED
|
Release 2.7.0 - UNRELEASED
|
||||||
|
|
||||||
INCOMPATIBLE CHANGES
|
INCOMPATIBLE CHANGES
|
||||||
|
@ -916,6 +916,34 @@ public void close() {
|
|||||||
} finally {
|
} finally {
|
||||||
lock.unlock();
|
lock.unlock();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
releaserExecutor.shutdown();
|
||||||
|
cleanerExecutor.shutdown();
|
||||||
|
// wait for existing tasks to terminate
|
||||||
|
try {
|
||||||
|
if (!releaserExecutor.awaitTermination(30, TimeUnit.SECONDS)) {
|
||||||
|
LOG.error("Forcing SlotReleaserThreadPool to shutdown!");
|
||||||
|
releaserExecutor.shutdownNow();
|
||||||
|
}
|
||||||
|
} catch (InterruptedException e) {
|
||||||
|
releaserExecutor.shutdownNow();
|
||||||
|
Thread.currentThread().interrupt();
|
||||||
|
LOG.error("Interrupted while waiting for SlotReleaserThreadPool "
|
||||||
|
+ "to terminate", e);
|
||||||
|
}
|
||||||
|
|
||||||
|
// wait for existing tasks to terminate
|
||||||
|
try {
|
||||||
|
if (!cleanerExecutor.awaitTermination(30, TimeUnit.SECONDS)) {
|
||||||
|
LOG.error("Forcing CleanerThreadPool to shutdown!");
|
||||||
|
cleanerExecutor.shutdownNow();
|
||||||
|
}
|
||||||
|
} catch (InterruptedException e) {
|
||||||
|
cleanerExecutor.shutdownNow();
|
||||||
|
Thread.currentThread().interrupt();
|
||||||
|
LOG.error("Interrupted while waiting for CleanerThreadPool "
|
||||||
|
+ "to terminate", e);
|
||||||
|
}
|
||||||
IOUtils.cleanup(LOG, shmManager);
|
IOUtils.cleanup(LOG, shmManager);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -203,7 +203,7 @@ public ShortCircuitReplicaInfo createShortCircuitReplicaInfo() {
|
|||||||
cache.close();
|
cache.close();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test(timeout=60000)
|
@Test(timeout=100000)
|
||||||
public void testExpiry() throws Exception {
|
public void testExpiry() throws Exception {
|
||||||
final ShortCircuitCache cache =
|
final ShortCircuitCache cache =
|
||||||
new ShortCircuitCache(2, 1, 1, 10000000, 1, 10000000, 0);
|
new ShortCircuitCache(2, 1, 1, 10000000, 1, 10000000, 0);
|
||||||
|
Loading…
Reference in New Issue
Block a user