HDFS-16033 Fix issue of the StatisticsDataReferenceCleaner cleanUp (#3042)
Contributed by kaifeiYi (yikf). Signed-off-by: Mingliang Liu <liuml07@apache.org> Reviewed-by: Steve Loughran <stevel@apache.org>
This commit is contained in:
parent
549987ed87
commit
20a4cb0c67
|
@ -3831,12 +3831,19 @@ public abstract class FileSystem extends Configured
|
|||
* Background action to act on references being removed.
|
||||
*/
|
||||
private static class StatisticsDataReferenceCleaner implements Runnable {
|
||||
/**
|
||||
* Represents the timeout period expires for remove reference objects from
|
||||
* the STATS_DATA_REF_QUEUE when the queue is empty.
|
||||
*/
|
||||
private static final int REF_QUEUE_POLL_TIMEOUT = 10000;
|
||||
|
||||
@Override
|
||||
public void run() {
|
||||
while (!Thread.interrupted()) {
|
||||
try {
|
||||
StatisticsDataReference ref =
|
||||
(StatisticsDataReference)STATS_DATA_REF_QUEUE.remove();
|
||||
(StatisticsDataReference)STATS_DATA_REF_QUEUE.
|
||||
remove(REF_QUEUE_POLL_TIMEOUT);
|
||||
ref.cleanUp();
|
||||
} catch (InterruptedException ie) {
|
||||
LOGGER.warn("Cleaner thread interrupted, will stop", ie);
|
||||
|
|
Loading…
Reference in New Issue