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]