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

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


The following commit(s) were added to refs/heads/master by this push:
     new f2495a6  fix messageGap metric (#12337)
f2495a6 is described below

commit f2495a67d206534b6ee79b083ce49b3131165192
Author: Yuanli Han <[email protected]>
AuthorDate: Tue Mar 29 00:21:06 2022 +0800

    fix messageGap metric (#12337)
---
 .../org/apache/druid/segment/realtime/FireDepartmentMetrics.java    | 3 ++-
 .../apache/druid/segment/realtime/FireDepartmentMetricsTest.java    | 6 ++++++
 2 files changed, 8 insertions(+), 1 deletion(-)

diff --git 
a/server/src/main/java/org/apache/druid/segment/realtime/FireDepartmentMetrics.java
 
b/server/src/main/java/org/apache/druid/segment/realtime/FireDepartmentMetrics.java
index 9fd2864..0811a34 100644
--- 
a/server/src/main/java/org/apache/druid/segment/realtime/FireDepartmentMetrics.java
+++ 
b/server/src/main/java/org/apache/druid/segment/realtime/FireDepartmentMetrics.java
@@ -263,7 +263,8 @@ public class FireDepartmentMetrics
     retVal.messageMaxTimestamp.set(messageMaxTimestamp.get());
     
retVal.messageProcessingCompletionTime.set(messageProcessingCompletionTime.get());
     
retVal.messageProcessingCompletionTime.compareAndSet(DEFAULT_PROCESSING_COMPLETION_TIME,
 System.currentTimeMillis());
-    retVal.messageGap.set(retVal.messageProcessingCompletionTime.get() - 
messageMaxTimestamp.get());
+    long maxTimestamp = retVal.messageMaxTimestamp.get();
+    retVal.messageGap.set(maxTimestamp > 0 ? 
retVal.messageProcessingCompletionTime.get() - maxTimestamp : 0L);
     return retVal;
   }
 }
diff --git 
a/server/src/test/java/org/apache/druid/segment/realtime/FireDepartmentMetricsTest.java
 
b/server/src/test/java/org/apache/druid/segment/realtime/FireDepartmentMetricsTest.java
index 0c10251..17d4356 100644
--- 
a/server/src/test/java/org/apache/druid/segment/realtime/FireDepartmentMetricsTest.java
+++ 
b/server/src/test/java/org/apache/druid/segment/realtime/FireDepartmentMetricsTest.java
@@ -34,6 +34,12 @@ public class FireDepartmentMetricsTest
   }
 
   @Test
+  public void testSnapshotBeforeProcessing()
+  {
+    Assert.assertEquals(0L, metrics.snapshot().messageGap());
+  }
+
+  @Test
   public void testSnapshotAfterProcessingOver()
   {
     metrics.reportMessageMaxTimestamp(10);

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to