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

gortiz 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 b3124b6e9ee Expose the query executor init config via 
QueryExecutor#getQueryExecutorConfig (#18886)
b3124b6e9ee is described below

commit b3124b6e9ee4886dbb51a6daf21418fb4c8dd65c
Author: Gonzalo Ortiz Jaureguizar <[email protected]>
AuthorDate: Tue Jun 30 19:13:18 2026 +0200

    Expose the query executor init config via 
QueryExecutor#getQueryExecutorConfig (#18886)
---
 .../java/org/apache/pinot/core/query/executor/QueryExecutor.java | 9 +++++++++
 .../pinot/core/query/executor/ServerQueryExecutorV1Impl.java     | 7 +++++++
 2 files changed, 16 insertions(+)

diff --git 
a/pinot-core/src/main/java/org/apache/pinot/core/query/executor/QueryExecutor.java
 
b/pinot-core/src/main/java/org/apache/pinot/core/query/executor/QueryExecutor.java
index 45427a3b4ea..230e1b81ffd 100644
--- 
a/pinot-core/src/main/java/org/apache/pinot/core/query/executor/QueryExecutor.java
+++ 
b/pinot-core/src/main/java/org/apache/pinot/core/query/executor/QueryExecutor.java
@@ -43,6 +43,15 @@ public interface QueryExecutor {
 
   InstanceDataManager getInstanceDataManager();
 
+  /// Returns the configuration this executor was initialized with (the subset 
of server config with
+  /// prefix `pinot.server.query.executor`). Callers that build a 
per-execution [PlanMaker] override
+  /// can initialize it with the same settings the executor's own plan maker 
uses, so the override
+  /// honors limits such as `max.execution.threads` and the group-by trim 
sizes. The default returns
+  /// an empty configuration for implementations that do not track their init 
config.
+  default PinotConfiguration getQueryExecutorConfig() {
+    return new PinotConfiguration();
+  }
+
   /**
    * Starts the query executor.
    * <p>Should be called only once after query executor gets initialized but 
before calling any other method.
diff --git 
a/pinot-core/src/main/java/org/apache/pinot/core/query/executor/ServerQueryExecutorV1Impl.java
 
b/pinot-core/src/main/java/org/apache/pinot/core/query/executor/ServerQueryExecutorV1Impl.java
index b69e0bde6fb..e3dc48ede6a 100644
--- 
a/pinot-core/src/main/java/org/apache/pinot/core/query/executor/ServerQueryExecutorV1Impl.java
+++ 
b/pinot-core/src/main/java/org/apache/pinot/core/query/executor/ServerQueryExecutorV1Impl.java
@@ -103,6 +103,7 @@ public class ServerQueryExecutorV1Impl implements 
QueryExecutor {
   private ServerMetrics _serverMetrics;
   private SegmentPrunerService _segmentPrunerService;
   private PlanMaker _planMaker;
+  private PinotConfiguration _config;
   private long _defaultTimeoutMs;
   private boolean _enablePrefetch;
 
@@ -110,6 +111,7 @@ public class ServerQueryExecutorV1Impl implements 
QueryExecutor {
   public synchronized void init(PinotConfiguration config, InstanceDataManager 
instanceDataManager,
       ServerMetrics serverMetrics)
       throws ConfigurationException {
+    _config = config;
     _instanceDataManager = instanceDataManager;
     _serverMetrics = serverMetrics;
     LOGGER.info("Trying to build SegmentPrunerService");
@@ -133,6 +135,11 @@ public class ServerQueryExecutorV1Impl implements 
QueryExecutor {
     return _instanceDataManager;
   }
 
+  @Override
+  public PinotConfiguration getQueryExecutorConfig() {
+    return _config;
+  }
+
   @Override
   public synchronized void start() {
     LOGGER.info("Query executor started");


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

Reply via email to