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]

Reply via email to