From 2ea19394e7e01b5768dac94ab20468c67ee63a50 Mon Sep 17 00:00:00 2001 From: "Doroszlai, Attila" Date: Wed, 9 Oct 2019 08:13:15 +0200 Subject: [PATCH] HDDS-2267. Container metadata scanner interval mismatch --- .../container/ozoneimpl/ContainerMetadataScanner.java | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/hadoop-hdds/container-service/src/main/java/org/apache/hadoop/ozone/container/ozoneimpl/ContainerMetadataScanner.java b/hadoop-hdds/container-service/src/main/java/org/apache/hadoop/ozone/container/ozoneimpl/ContainerMetadataScanner.java index 46aaf73a12dd0..3eb1f9743a74c 100644 --- a/hadoop-hdds/container-service/src/main/java/org/apache/hadoop/ozone/container/ozoneimpl/ContainerMetadataScanner.java +++ b/hadoop-hdds/container-service/src/main/java/org/apache/hadoop/ozone/container/ozoneimpl/ContainerMetadataScanner.java @@ -94,10 +94,11 @@ void runIteration() { metrics.getNumScanIterations(), metrics.getNumContainersScanned(), metrics.getNumUnHealthyContainers()); - // ensure to delay next metadata scan with respect to user config. - if (interval < metadataScanInterval) { + long elapsedMillis = TimeUnit.NANOSECONDS.toMillis(interval); + long remainingSleep = metadataScanInterval - elapsedMillis; + if (remainingSleep > 0) { try { - Thread.sleep(metadataScanInterval - interval); + Thread.sleep(remainingSleep); } catch (InterruptedException e) { LOG.info("Background ContainerMetadataScanner interrupted." + " Going to exit");