This is an automated email from the ASF dual-hosted git repository.
raghavyadav01 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 5e5accbda52 Make concurrent-scheduling dispatch helpers protected for
subclass extension (#18431)
5e5accbda52 is described below
commit 5e5accbda52bebb319c992ae8dec25fc6bfd83a2
Author: NOOB <[email protected]>
AuthorDate: Fri May 8 00:23:54 2026 +0530
Make concurrent-scheduling dispatch helpers protected for subclass
extension (#18431)
* Make concurrent-scheduling dispatch helpers protected for subclass
extension
Bumps PinotTaskManager#shouldUseConcurrentPath and
#resolveConcurrentScheduling
from package-private @VisibleForTesting to protected @VisibleForTesting so
that
subclasses in other packages can integrate with the concurrent scheduling
path
introduced in #18272.
In particular, this lets a subclass override resolveConcurrentScheduling to
plug in a different per-table policy (for example, defaulting concurrent
scheduling to true for specific task types) and have its override invoked
from
the parent's shouldUseConcurrentPath. Without this change, a
different-package
subclass cannot polymorphically override the package-private resolver — Java
treats the same-named method as hidden rather than overridden — so the
extension hook is effectively unreachable.
No behavioral change. The methods retain @VisibleForTesting; existing same-
package tests continue to work unchanged.
Co-Authored-By: Claude Opus 4.7 (1M context) <[email protected]>
* Removes visibleForTesting
---------
Co-authored-by: Claude Opus 4.7 (1M context) <[email protected]>
---
.../apache/pinot/controller/helix/core/minion/PinotTaskManager.java | 6 ++----
1 file changed, 2 insertions(+), 4 deletions(-)
diff --git
a/pinot-controller/src/main/java/org/apache/pinot/controller/helix/core/minion/PinotTaskManager.java
b/pinot-controller/src/main/java/org/apache/pinot/controller/helix/core/minion/PinotTaskManager.java
index f4460f56e85..ce986dd5add 100644
---
a/pinot-controller/src/main/java/org/apache/pinot/controller/helix/core/minion/PinotTaskManager.java
+++
b/pinot-controller/src/main/java/org/apache/pinot/controller/helix/core/minion/PinotTaskManager.java
@@ -780,8 +780,7 @@ public class PinotTaskManager extends
ControllerPeriodicTask<Void> {
* If no specific tables are targeted (i.e., "schedule for every table"),
the check iterates the full
* table list so that per-table opt-outs are still honored.
*/
- @VisibleForTesting
- boolean shouldUseConcurrentPath(TaskSchedulingContext context) {
+ protected boolean shouldUseConcurrentPath(TaskSchedulingContext context) {
Set<String> targetTables = context.getTablesToSchedule();
Set<String> targetDatabases = context.getDatabasesToSchedule();
Set<String> consolidatedTables = new HashSet<>();
@@ -814,8 +813,7 @@ public class PinotTaskManager extends
ControllerPeriodicTask<Void> {
* Resolves the effective concurrent-scheduling flag for a single table:
table-level override if
* set, otherwise the cluster-level default.
*/
- @VisibleForTesting
- boolean resolveConcurrentScheduling(TableConfig tableConfig) {
+ protected boolean resolveConcurrentScheduling(TableConfig tableConfig) {
TableTaskConfig taskConfig = tableConfig.getTaskConfig();
if (taskConfig != null) {
Boolean tableFlag = taskConfig.getConcurrentSchedulingEnabled();
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]