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]