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