From 79432ee6cfad0fae3cb210313a766a560ebf654a Mon Sep 17 00:00:00 2001 From: Anu Engineer Date: Wed, 20 Dec 2017 11:18:37 -0800 Subject: [PATCH] HDFS-12863. Ozone: Avoid configuration.get() call for each container report. Contributed by Akira Ajisaka. --- .../container/common/impl/ContainerReportManagerImpl.java | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/ozone/container/common/impl/ContainerReportManagerImpl.java b/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/ozone/container/common/impl/ContainerReportManagerImpl.java index bd6e7bac91b..4669737c92c 100644 --- a/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/ozone/container/common/impl/ContainerReportManagerImpl.java +++ b/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/ozone/container/common/impl/ContainerReportManagerImpl.java @@ -33,10 +33,10 @@ import java.util.concurrent.atomic.AtomicLong; * // TODO: support incremental/delta container report */ public class ContainerReportManagerImpl implements ContainerReportManager { - private Configuration config; // Last non-empty container report time private long lastContainerReportTime; private final long containerReportInterval; + private final long heartbeatInterval; private AtomicLong reportCount; private static final ReportState NO_CONTAINER_REPORTSTATE = ReportState.newBuilder() @@ -44,13 +44,13 @@ public class ContainerReportManagerImpl implements ContainerReportManager { .setCount(0).build(); public ContainerReportManagerImpl(Configuration config) { - this.config = config; this.lastContainerReportTime = -1; this.reportCount = new AtomicLong(0L); this.containerReportInterval = config.getTimeDuration( OzoneConfigKeys.OZONE_CONTAINER_REPORT_INTERVAL, OzoneConfigKeys.OZONE_CONTAINER_REPORT_INTERVAL_DEFAULT, TimeUnit.MILLISECONDS); + this.heartbeatInterval = OzoneClientUtils.getScmHeartbeatInterval(config); } public ReportState getContainerReportState() { @@ -82,7 +82,6 @@ public class ContainerReportManagerImpl implements ContainerReportManager { } private long getRandomReportDelay() { - return RandomUtils.nextLong(0, - OzoneClientUtils.getScmHeartbeatInterval(config)); + return RandomUtils.nextLong(0, heartbeatInterval); } }