From 7edd594ca511c500e225d111afbb954c020aebc5 Mon Sep 17 00:00:00 2001 From: cecemei Date: Wed, 1 Jul 2026 12:01:20 -0700 Subject: [PATCH 1/5] log --- .../apache/druid/client/CachingClusteredClient.java | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/server/src/main/java/org/apache/druid/client/CachingClusteredClient.java b/server/src/main/java/org/apache/druid/client/CachingClusteredClient.java index 9305b1b88e9f..47eaabcdc29e 100644 --- a/server/src/main/java/org/apache/druid/client/CachingClusteredClient.java +++ b/server/src/main/java/org/apache/druid/client/CachingClusteredClient.java @@ -345,6 +345,19 @@ ClusterQueryResult run( } final Set segmentServers = computeSegmentsToQuery(timeline, specificSegments); + log.info("Query[%s] found [%d] segments from timeline lookup.", query.getId(), segmentServers.size()); + if (query.context().isDebug()) { + segmentServers.stream() + .collect(Collectors.groupingBy( + s -> s.getSegmentDescriptor().getInterval() + + "_" + s.getSegmentDescriptor().getVersion() + + "_" + (s.getServer() != null && s.getServer().isRealtimeSegment() ? "realtime" : "historical"), + Collectors.counting() + )) + .forEach((key, count) -> + log.info("Query[%s] interval/version/type[%s] partitions[%d]", query.getId(), key, count) + ); + } final CloneQueryMode cloneQueryMode = query.context().getCloneQueryMode(); @Nullable final byte[] queryCacheKey = cacheKeyManager.computeSegmentLevelQueryCacheKey(); From e15f3bc1e117a92f8f9bdb9ebb979d07ac7e1194 Mon Sep 17 00:00:00 2001 From: cecemei Date: Wed, 1 Jul 2026 12:27:44 -0700 Subject: [PATCH 2/5] always-log --- .../druid/client/CachingClusteredClient.java | 23 +++++++++---------- 1 file changed, 11 insertions(+), 12 deletions(-) diff --git a/server/src/main/java/org/apache/druid/client/CachingClusteredClient.java b/server/src/main/java/org/apache/druid/client/CachingClusteredClient.java index 47eaabcdc29e..b0be72f7e277 100644 --- a/server/src/main/java/org/apache/druid/client/CachingClusteredClient.java +++ b/server/src/main/java/org/apache/druid/client/CachingClusteredClient.java @@ -346,18 +346,17 @@ ClusterQueryResult run( final Set segmentServers = computeSegmentsToQuery(timeline, specificSegments); log.info("Query[%s] found [%d] segments from timeline lookup.", query.getId(), segmentServers.size()); - if (query.context().isDebug()) { - segmentServers.stream() - .collect(Collectors.groupingBy( - s -> s.getSegmentDescriptor().getInterval() - + "_" + s.getSegmentDescriptor().getVersion() - + "_" + (s.getServer() != null && s.getServer().isRealtimeSegment() ? "realtime" : "historical"), - Collectors.counting() - )) - .forEach((key, count) -> - log.info("Query[%s] interval/version/type[%s] partitions[%d]", query.getId(), key, count) - ); - } + segmentServers.stream() + .collect(Collectors.groupingBy( + s -> s.getSegmentDescriptor().getInterval() + + "_" + s.getSegmentDescriptor().getVersion() + + "_" + (s.getServer() != null && s.getServer().isRealtimeSegment() ? "realtime" : "historical"), + Collectors.counting() + )) + .forEach((key, count) -> + log.info("Query[%s] interval/version/type[%s] partitions[%d]", query.getId(), key, count) + ); + final CloneQueryMode cloneQueryMode = query.context().getCloneQueryMode(); @Nullable final byte[] queryCacheKey = cacheKeyManager.computeSegmentLevelQueryCacheKey(); From c526b7a8a840063936cb65d157721ce8543e0541 Mon Sep 17 00:00:00 2001 From: cecemei Date: Wed, 1 Jul 2026 12:28:35 -0700 Subject: [PATCH 3/5] Revert "always-log" This reverts commit e15f3bc1e117a92f8f9bdb9ebb979d07ac7e1194. --- .../druid/client/CachingClusteredClient.java | 23 ++++++++++--------- 1 file changed, 12 insertions(+), 11 deletions(-) diff --git a/server/src/main/java/org/apache/druid/client/CachingClusteredClient.java b/server/src/main/java/org/apache/druid/client/CachingClusteredClient.java index b0be72f7e277..47eaabcdc29e 100644 --- a/server/src/main/java/org/apache/druid/client/CachingClusteredClient.java +++ b/server/src/main/java/org/apache/druid/client/CachingClusteredClient.java @@ -346,17 +346,18 @@ ClusterQueryResult run( final Set segmentServers = computeSegmentsToQuery(timeline, specificSegments); log.info("Query[%s] found [%d] segments from timeline lookup.", query.getId(), segmentServers.size()); - segmentServers.stream() - .collect(Collectors.groupingBy( - s -> s.getSegmentDescriptor().getInterval() - + "_" + s.getSegmentDescriptor().getVersion() - + "_" + (s.getServer() != null && s.getServer().isRealtimeSegment() ? "realtime" : "historical"), - Collectors.counting() - )) - .forEach((key, count) -> - log.info("Query[%s] interval/version/type[%s] partitions[%d]", query.getId(), key, count) - ); - + if (query.context().isDebug()) { + segmentServers.stream() + .collect(Collectors.groupingBy( + s -> s.getSegmentDescriptor().getInterval() + + "_" + s.getSegmentDescriptor().getVersion() + + "_" + (s.getServer() != null && s.getServer().isRealtimeSegment() ? "realtime" : "historical"), + Collectors.counting() + )) + .forEach((key, count) -> + log.info("Query[%s] interval/version/type[%s] partitions[%d]", query.getId(), key, count) + ); + } final CloneQueryMode cloneQueryMode = query.context().getCloneQueryMode(); @Nullable final byte[] queryCacheKey = cacheKeyManager.computeSegmentLevelQueryCacheKey(); From e60067407f8d2fdcfd87c9ff38df3efbe833d79a Mon Sep 17 00:00:00 2001 From: cecemei Date: Wed, 1 Jul 2026 13:06:18 -0700 Subject: [PATCH 4/5] style --- .../druid/client/CachingClusteredClient.java | 22 ++++++++++--------- 1 file changed, 12 insertions(+), 10 deletions(-) diff --git a/server/src/main/java/org/apache/druid/client/CachingClusteredClient.java b/server/src/main/java/org/apache/druid/client/CachingClusteredClient.java index 47eaabcdc29e..7833aaddbc7a 100644 --- a/server/src/main/java/org/apache/druid/client/CachingClusteredClient.java +++ b/server/src/main/java/org/apache/druid/client/CachingClusteredClient.java @@ -347,16 +347,18 @@ ClusterQueryResult run( final Set segmentServers = computeSegmentsToQuery(timeline, specificSegments); log.info("Query[%s] found [%d] segments from timeline lookup.", query.getId(), segmentServers.size()); if (query.context().isDebug()) { - segmentServers.stream() - .collect(Collectors.groupingBy( - s -> s.getSegmentDescriptor().getInterval() - + "_" + s.getSegmentDescriptor().getVersion() - + "_" + (s.getServer() != null && s.getServer().isRealtimeSegment() ? "realtime" : "historical"), - Collectors.counting() - )) - .forEach((key, count) -> - log.info("Query[%s] interval/version/type[%s] partitions[%d]", query.getId(), key, count) - ); + final Map segmentCountByKey = segmentServers.stream().collect( + Collectors.groupingBy( + s -> s.getSegmentDescriptor().getInterval() + + "_" + s.getSegmentDescriptor().getVersion() + + "_" + (s.getServer() != null && s.getServer().isRealtimeSegment() ? "realtime" : "historical"), + Collectors.counting() + ) + ); + segmentCountByKey.forEach( + (key, count) -> + log.info("Query[%s] interval/version/type[%s] partitions[%d]", query.getId(), key, count) + ); } final CloneQueryMode cloneQueryMode = query.context().getCloneQueryMode(); @Nullable From 61352f5b3de99c266ca1bdad2ada446da19b4f19 Mon Sep 17 00:00:00 2001 From: cecemei Date: Thu, 2 Jul 2026 16:23:45 -0700 Subject: [PATCH 5/5] debug --- .../druid/client/CachingClusteredClient.java | 23 +++++++++---------- 1 file changed, 11 insertions(+), 12 deletions(-) diff --git a/server/src/main/java/org/apache/druid/client/CachingClusteredClient.java b/server/src/main/java/org/apache/druid/client/CachingClusteredClient.java index 7833aaddbc7a..5cb41eb14b17 100644 --- a/server/src/main/java/org/apache/druid/client/CachingClusteredClient.java +++ b/server/src/main/java/org/apache/druid/client/CachingClusteredClient.java @@ -345,19 +345,18 @@ ClusterQueryResult run( } final Set segmentServers = computeSegmentsToQuery(timeline, specificSegments); - log.info("Query[%s] found [%d] segments from timeline lookup.", query.getId(), segmentServers.size()); if (query.context().isDebug()) { - final Map segmentCountByKey = segmentServers.stream().collect( - Collectors.groupingBy( - s -> s.getSegmentDescriptor().getInterval() - + "_" + s.getSegmentDescriptor().getVersion() - + "_" + (s.getServer() != null && s.getServer().isRealtimeSegment() ? "realtime" : "historical"), - Collectors.counting() - ) - ); - segmentCountByKey.forEach( - (key, count) -> - log.info("Query[%s] interval/version/type[%s] partitions[%d]", query.getId(), key, count) + final String dataSource = ev.getBaseTableDataSource().getName(); + log.infoSegmentIds( + segmentServers.stream().map( + s -> SegmentId.of( + dataSource, + s.getSegmentDescriptor().getInterval(), + s.getSegmentDescriptor().getVersion(), + s.getSegmentDescriptor().getPartitionNumber() + ) + ), + StringUtils.format("Query[%s] found segments from timeline lookup", query.getId()) ); } final CloneQueryMode cloneQueryMode = query.context().getCloneQueryMode();