jtuglu-netflix commented on code in PR #17847: URL: https://github.com/apache/druid/pull/17847#discussion_r2066822234
########## server/src/main/java/org/apache/druid/segment/realtime/SegmentGenerationMetrics.java: ########## @@ -55,6 +56,23 @@ public class SegmentGenerationMetrics private final AtomicLong maxSegmentHandoffTime = new AtomicLong(NO_EMIT_SEGMENT_HANDOFF_TIME); + // Message gap accounting + private final AtomicLong minMessageGap = new AtomicLong(Long.MAX_VALUE); + private final AtomicLong maxMessageGap = new AtomicLong(Long.MIN_VALUE); + private final AtomicLong numMessageGap = new AtomicLong(0); + private final AtomicDouble avgMessageGap = new AtomicDouble(0); Review Comment: > If we keep two separate atomic fields, the snapshotting can potentially be inconsistent due to race conditions. Actually, this should never happen. There is a single writer to these fields, and potentially multiple readers (at the moment it's a single reader). The reader thread simply looks at one of these atomic fields. The "worst" case is the avg computation will be 1-step behind. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected] --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
