diff --git a/hadoop-hdds/container-service/src/main/java/org/apache/hadoop/ozone/container/common/report/ReportPublisher.java b/hadoop-hdds/container-service/src/main/java/org/apache/hadoop/ozone/container/common/report/ReportPublisher.java index 5d181eca10d7..e6b410628693 100644 --- a/hadoop-hdds/container-service/src/main/java/org/apache/hadoop/ozone/container/common/report/ReportPublisher.java +++ b/hadoop-hdds/container-service/src/main/java/org/apache/hadoop/ozone/container/common/report/ReportPublisher.java @@ -1,4 +1,4 @@ -/** +/* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with this * work for additional information regarding copyright ownership. The ASF @@ -67,9 +67,9 @@ public ConfigurationSource getConf() { @Override public void run() { - publishReport(); if (!executor.isShutdown() && (context.getState() != DatanodeStates.SHUTDOWN)) { + publishReport(); executor.schedule(this, getReportFrequency(), TimeUnit.MILLISECONDS); } diff --git a/hadoop-hdds/container-service/src/test/java/org/apache/hadoop/ozone/container/common/report/TestReportPublisher.java b/hadoop-hdds/container-service/src/test/java/org/apache/hadoop/ozone/container/common/report/TestReportPublisher.java index aa1337f6198b..291ab6e0415f 100644 --- a/hadoop-hdds/container-service/src/test/java/org/apache/hadoop/ozone/container/common/report/TestReportPublisher.java +++ b/hadoop-hdds/container-service/src/test/java/org/apache/hadoop/ozone/container/common/report/TestReportPublisher.java @@ -1,4 +1,4 @@ -/** +/* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with this * work for additional information regarding copyright ownership. The ASF @@ -107,6 +107,9 @@ public void testScheduledReport() throws InterruptedException { Thread.sleep(100); Assert.assertEquals(2, ((DummyReportPublisher) publisher).getReportCount); executorService.shutdown(); + // After executor shutdown, no new reports should be published + Thread.sleep(100); + Assert.assertEquals(2, ((DummyReportPublisher) publisher).getReportCount); } @Test @@ -122,7 +125,9 @@ public void testPublishReport() throws InterruptedException { executorService.shutdown(); Assert.assertEquals(1, ((DummyReportPublisher) publisher).getReportCount); verify(dummyContext, times(1)).addReport(null); - + // After executor shutdown, no new reports should be published + Thread.sleep(100); + Assert.assertEquals(1, ((DummyReportPublisher) publisher).getReportCount); } @Test