You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@druid.apache.org by GitBox <gi...@apache.org> on 2019/01/02 15:50:56 UTC

[GitHub] QiuMM closed pull request #6793: Fix wrong counter getFailedSendingTimeCounter method

QiuMM closed pull request #6793: Fix wrong counter getFailedSendingTimeCounter method
URL: https://github.com/apache/incubator-druid/pull/6793
 
 
   

This is a PR merged from a forked repository.
As GitHub hides the original diff on merge, it is displayed below for
the sake of provenance:

As this is a foreign pull request (from a fork), the diff is supplied
below (as it won't show otherwise due to GitHub magic):

diff --git a/core/src/main/java/org/apache/druid/java/util/emitter/core/ConcurrentTimeCounter.java b/core/src/main/java/org/apache/druid/java/util/emitter/core/ConcurrentTimeCounter.java
index a71b2fc4ed6..8c4ab0ea250 100644
--- a/core/src/main/java/org/apache/druid/java/util/emitter/core/ConcurrentTimeCounter.java
+++ b/core/src/main/java/org/apache/druid/java/util/emitter/core/ConcurrentTimeCounter.java
@@ -19,6 +19,7 @@
 
 package org.apache.druid.java.util.emitter.core;
 
+import com.google.common.annotations.VisibleForTesting;
 import com.google.common.primitives.UnsignedInts;
 
 import javax.annotation.Nullable;
@@ -66,6 +67,12 @@ private void updateMin(int time)
     } while (!this.min.compareAndSet(min, UnsignedInts.toLong(time)));
   }
 
+  @VisibleForTesting
+  long getTimeSumAndCount()
+  {
+    return timeSumAndCount.get();
+  }
+
   public long getTimeSumAndCountAndReset()
   {
     return timeSumAndCount.getAndSet(0L);
diff --git a/core/src/main/java/org/apache/druid/java/util/emitter/core/HttpPostEmitter.java b/core/src/main/java/org/apache/druid/java/util/emitter/core/HttpPostEmitter.java
index d2da5a705e0..ea3456402dc 100644
--- a/core/src/main/java/org/apache/druid/java/util/emitter/core/HttpPostEmitter.java
+++ b/core/src/main/java/org/apache/druid/java/util/emitter/core/HttpPostEmitter.java
@@ -927,7 +927,7 @@ public ConcurrentTimeCounter getSuccessfulSendingTimeCounter()
 
   public ConcurrentTimeCounter getFailedSendingTimeCounter()
   {
-    return emittingThread.successfulSendingTimeCounter;
+    return emittingThread.failedSendingTimeCounter;
   }
 
   @VisibleForTesting
diff --git a/core/src/test/java/org/apache/druid/java/util/emitter/core/EmitterTest.java b/core/src/test/java/org/apache/druid/java/util/emitter/core/EmitterTest.java
index ed85dbcedce..be43df7dac2 100644
--- a/core/src/test/java/org/apache/druid/java/util/emitter/core/EmitterTest.java
+++ b/core/src/test/java/org/apache/druid/java/util/emitter/core/EmitterTest.java
@@ -382,6 +382,8 @@ public void testFailedEmission() throws Exception
     final UnitEvent event2 = new UnitEvent("test", 2);
     emitter = sizeBasedEmitter(1);
     Assert.assertEquals(0, emitter.getTotalEmittedEvents());
+    Assert.assertEquals(0, emitter.getSuccessfulSendingTimeCounter().getTimeSumAndCount());
+    Assert.assertEquals(0, emitter.getFailedSendingTimeCounter().getTimeSumAndCount());
 
     httpClient.setGoHandler(
         new GoHandler()
@@ -401,6 +403,8 @@ public void testFailedEmission() throws Exception
 
     // Failed to emit the first event.
     Assert.assertEquals(0, emitter.getTotalEmittedEvents());
+    Assert.assertEquals(0, emitter.getSuccessfulSendingTimeCounter().getTimeSumAndCount());
+    Assert.assertTrue(emitter.getFailedSendingTimeCounter().getTimeSumAndCount() > 0);
 
     httpClient.setGoHandler(
         new GoHandler()
@@ -423,6 +427,8 @@ public void testFailedEmission() throws Exception
 
     // Succeed to emit both events.
     Assert.assertEquals(2, emitter.getTotalEmittedEvents());
+    Assert.assertTrue(emitter.getSuccessfulSendingTimeCounter().getTimeSumAndCount() > 0);
+    Assert.assertTrue(emitter.getFailedSendingTimeCounter().getTimeSumAndCount() > 0);
 
     Assert.assertTrue(httpClient.succeeded());
   }
@@ -491,6 +497,8 @@ public void testBatchSplitting() throws Exception
     final AtomicInteger counter = new AtomicInteger();
     emitter = manualFlushEmitterWithBatchSize(1024 * 1024);
     Assert.assertEquals(0, emitter.getTotalEmittedEvents());
+    Assert.assertEquals(0, emitter.getSuccessfulSendingTimeCounter().getTimeSumAndCount());
+    Assert.assertEquals(0, emitter.getFailedSendingTimeCounter().getTimeSumAndCount());
 
     httpClient.setGoHandler(
         new GoHandler()
@@ -522,10 +530,14 @@ public void testBatchSplitting() throws Exception
     }
     waitForEmission(emitter, 1);
     Assert.assertEquals(2, emitter.getTotalEmittedEvents());
+    Assert.assertTrue(emitter.getSuccessfulSendingTimeCounter().getTimeSumAndCount() > 0);
+    Assert.assertEquals(0, emitter.getFailedSendingTimeCounter().getTimeSumAndCount());
 
     emitter.flush();
     waitForEmission(emitter, 2);
     Assert.assertEquals(4, emitter.getTotalEmittedEvents());
+    Assert.assertTrue(emitter.getSuccessfulSendingTimeCounter().getTimeSumAndCount() > 0);
+    Assert.assertEquals(0, emitter.getFailedSendingTimeCounter().getTimeSumAndCount());
     closeNoFlush(emitter);
     Assert.assertTrue(httpClient.succeeded());
   }


 

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
users@infra.apache.org


With regards,
Apache Git Services

---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@druid.apache.org
For additional commands, e-mail: commits-help@druid.apache.org