You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@druid.apache.org by qm...@apache.org on 2019/01/02 15:51:04 UTC

[incubator-druid] branch master updated: Fix wrong counter getFailedSendingTimeCounter method (#6793)

This is an automated email from the ASF dual-hosted git repository.

qmm pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-druid.git


The following commit(s) were added to refs/heads/master by this push:
     new e8ddd99  Fix wrong counter getFailedSendingTimeCounter method (#6793)
e8ddd99 is described below

commit e8ddd9942d2bfa53d676eb94b93f0e80e40821c0
Author: Benedict Jin <as...@apache.org>
AuthorDate: Wed Jan 2 23:50:54 2019 +0800

    Fix wrong counter getFailedSendingTimeCounter method (#6793)
    
    * Fix wrong counter getFailedSendingTimeCounter method
    
    * Add testcases
    
    * Add getTimeSumAndCount for testcases
---
 .../druid/java/util/emitter/core/ConcurrentTimeCounter.java  |  7 +++++++
 .../apache/druid/java/util/emitter/core/HttpPostEmitter.java |  2 +-
 .../org/apache/druid/java/util/emitter/core/EmitterTest.java | 12 ++++++++++++
 3 files changed, 20 insertions(+), 1 deletion(-)

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 a71b2fc..8c4ab0e 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 @@ public class ConcurrentTimeCounter
     } 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 d2da5a7..ea34564 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 class HttpPostEmitter implements Flushable, Closeable, Emitter
 
   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 ed85dbc..be43df7 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 class EmitterTest
     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 class EmitterTest
 
     // 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 class EmitterTest
 
     // 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 class EmitterTest
     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 class EmitterTest
     }
     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());
   }


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