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

Jackie-Jiang pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/pinot.git


The following commit(s) were added to refs/heads/master by this push:
     new e9518a368f3 Default Stats Send Mode SAFE -> ALWAYS (#18367)
e9518a368f3 is described below

commit e9518a368f38bad6b2da59003184ff23836cef5f
Author: Satwik Pachigolla <[email protected]>
AuthorDate: Wed May 13 01:13:17 2026 -0500

    Default Stats Send Mode SAFE -> ALWAYS (#18367)
---
 .../org/apache/pinot/query/runtime/SendStatsPredicate.java     |  1 +
 .../main/java/org/apache/pinot/spi/utils/CommonConstants.java  | 10 +---------
 2 files changed, 2 insertions(+), 9 deletions(-)

diff --git 
a/pinot-query-runtime/src/main/java/org/apache/pinot/query/runtime/SendStatsPredicate.java
 
b/pinot-query-runtime/src/main/java/org/apache/pinot/query/runtime/SendStatsPredicate.java
index d5d0d861102..da2a6cb5bc1 100644
--- 
a/pinot-query-runtime/src/main/java/org/apache/pinot/query/runtime/SendStatsPredicate.java
+++ 
b/pinot-query-runtime/src/main/java/org/apache/pinot/query/runtime/SendStatsPredicate.java
@@ -79,6 +79,7 @@ public abstract class SendStatsPredicate implements 
InstanceConfigChangeListener
 
   public enum Mode {
     /// Sends stats only if all the cluster participants use the same known 
version.
+    // ALWAYS is strictly better than SAFE if all servers are already on 
versions >= 1.4
     SAFE {
       @Override
       public SendStatsPredicate create(HelixManager helixManager) {
diff --git 
a/pinot-spi/src/main/java/org/apache/pinot/spi/utils/CommonConstants.java 
b/pinot-spi/src/main/java/org/apache/pinot/spi/utils/CommonConstants.java
index 768d46d2144..fad1c44f4af 100644
--- a/pinot-spi/src/main/java/org/apache/pinot/spi/utils/CommonConstants.java
+++ b/pinot-spi/src/main/java/org/apache/pinot/spi/utils/CommonConstants.java
@@ -2204,16 +2204,8 @@ public class CommonConstants {
     /// - "SAFE": MSE will only send stats if all instances in the cluster are 
running 1.4.0 or later.
     /// - "ALWAYS": MSE will always send stats, regardless of the version of 
the instances in the cluster.
     /// - "NEVER": MSE will never send stats.
-    ///
-    /// The reason for this flag that versions 1.3.0 and lower have two 
undesired behaviors:
-    /// 1. Some queries using intersection generate incorrect stats
-    /// 2. When stats from other nodes are sent but are different from 
expected, the query fails.
-    ///
-    /// In 1.4.0 the first issue is solved and instead of failing when 
unexpected stats are received, the query
-    /// continues without children stats. But if a query involves servers in 
versions 1.3.0 and 1.4.0, the one
-    /// running 1.3.0 may fail, which breaks backward compatibility.
     public static final String KEY_OF_SEND_STATS_MODE = 
"pinot.query.mse.stats.mode";
-    public static final String DEFAULT_SEND_STATS_MODE = "SAFE";
+    public static final String DEFAULT_SEND_STATS_MODE = "ALWAYS";
 
     /// Used to indicate whether MSE pipeline breaker stats should be included 
in the queryStats field.
     /// This flag was introduced in 1.5.0. Before 1.5.0, MSE pipeline breaker 
stats were not kept. Starting from 1.5.0,


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

Reply via email to