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

manishswaminathan 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 4728cb711ce Move DimTable disablePreload default value from Static to 
cluster config based (#17313)
4728cb711ce is described below

commit 4728cb711cea83796f8b0fcffaaa68e2826420c2
Author: Arunkumar Saravanan <[email protected]>
AuthorDate: Thu Dec 11 17:41:12 2025 +0530

    Move DimTable disablePreload default value from Static to cluster config 
based (#17313)
    
    * DimTable disablePreload cluster config
    
    * updating config name
    
    * Apply suggestion from @Jackie-Jiang
---
 .../core/data/manager/offline/DimensionTableDataManager.java   |  3 ++-
 .../server/starter/helix/HelixInstanceDataManagerConfig.java   | 10 ++++++++++
 .../pinot/spi/config/instance/InstanceDataManagerConfig.java   |  2 ++
 3 files changed, 14 insertions(+), 1 deletion(-)

diff --git 
a/pinot-core/src/main/java/org/apache/pinot/core/data/manager/offline/DimensionTableDataManager.java
 
b/pinot-core/src/main/java/org/apache/pinot/core/data/manager/offline/DimensionTableDataManager.java
index 884b2565b62..b3f1589de16 100644
--- 
a/pinot-core/src/main/java/org/apache/pinot/core/data/manager/offline/DimensionTableDataManager.java
+++ 
b/pinot-core/src/main/java/org/apache/pinot/core/data/manager/offline/DimensionTableDataManager.java
@@ -103,7 +103,7 @@ public class DimensionTableDataManager extends 
OfflineTableDataManager {
   // anyway
   private final AtomicInteger _loadToken = new AtomicInteger();
 
-  private boolean _disablePreload = false;
+  private boolean _disablePreload;
   private boolean _errorOnDuplicatePrimaryKey = false;
 
   @Override
@@ -118,6 +118,7 @@ public class DimensionTableDataManager extends 
OfflineTableDataManager {
     Preconditions.checkState(CollectionUtils.isNotEmpty(primaryKeyColumns),
         "Primary key columns must be configured for dimension table: %s", 
_tableNameWithType);
 
+    _disablePreload = 
getInstanceDataManagerConfig().isDimensionTablePreloadDisabled();
     DimensionTableConfig dimensionTableConfig = 
tableConfig.getDimensionTableConfig();
     if (dimensionTableConfig != null) {
       _disablePreload = dimensionTableConfig.isDisablePreload();
diff --git 
a/pinot-server/src/main/java/org/apache/pinot/server/starter/helix/HelixInstanceDataManagerConfig.java
 
b/pinot-server/src/main/java/org/apache/pinot/server/starter/helix/HelixInstanceDataManagerConfig.java
index 89fbb644831..1a262b35bde 100644
--- 
a/pinot-server/src/main/java/org/apache/pinot/server/starter/helix/HelixInstanceDataManagerConfig.java
+++ 
b/pinot-server/src/main/java/org/apache/pinot/server/starter/helix/HelixInstanceDataManagerConfig.java
@@ -105,6 +105,10 @@ public class HelixInstanceDataManagerConfig implements 
InstanceDataManagerConfig
   public static final String ENABLE_ASYNC_SEGMENT_REFRESH = 
"enable.async.segment.refresh";
   private static final boolean DEFAULT_ENABLE_ASYNC_SEGMENT_REFRESH = false;
 
+  // Whether to disable preloading for dimension tables. Preload Enabled by 
default.
+  public static final String DISABLE_DIMENSION_TABLE_PRELOAD = 
"disable.dimension.table.preload";
+  private static final boolean DEFAULT_DISABLE_DIMENSION_TABLE_PRELOAD = false;
+
   // To preload segments of table using upsert in parallel for fast upsert 
metadata recovery.
   private static final String MAX_SEGMENT_PRELOAD_THREADS = 
"max.segment.preload.threads";
 
@@ -349,4 +353,10 @@ public class HelixInstanceDataManagerConfig implements 
InstanceDataManagerConfig
   public boolean shouldCheckCRCOnSegmentLoad() {
     return _serverConfig.getProperty(CHECK_CRC_ON_SEGMENT_LOAD, 
DEFAULT_CHECK_CRC_ON_SEGMENT_LOAD);
   }
+
+  @Override
+  public boolean isDimensionTablePreloadDisabled() {
+    return _serverConfig.getProperty(DISABLE_DIMENSION_TABLE_PRELOAD,
+        DEFAULT_DISABLE_DIMENSION_TABLE_PRELOAD);
+  }
 }
diff --git 
a/pinot-spi/src/main/java/org/apache/pinot/spi/config/instance/InstanceDataManagerConfig.java
 
b/pinot-spi/src/main/java/org/apache/pinot/spi/config/instance/InstanceDataManagerConfig.java
index 2aa61d7a0fc..dfe37da0ea3 100644
--- 
a/pinot-spi/src/main/java/org/apache/pinot/spi/config/instance/InstanceDataManagerConfig.java
+++ 
b/pinot-spi/src/main/java/org/apache/pinot/spi/config/instance/InstanceDataManagerConfig.java
@@ -90,4 +90,6 @@ public interface InstanceDataManagerConfig {
   boolean isUploadSegmentToDeepStore();
 
   boolean shouldCheckCRCOnSegmentLoad();
+
+  boolean isDimensionTablePreloadDisabled();
 }


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

Reply via email to