yashmayya commented on code in PR #18553:
URL: https://github.com/apache/pinot/pull/18553#discussion_r3290158601


##########
pinot-broker/src/main/java/org/apache/pinot/broker/broker/helix/BaseBrokerStarter.java:
##########
@@ -305,10 +305,12 @@ protected MultiStageBrokerRequestHandler 
createMultiStageBrokerRequestHandler(
       QueryQuotaManager queryQuotaManager, TableCache tableCache,
       MultiStageQueryThrottler multiStageQueryThrottler, FailureDetector 
failureDetector,
       ThreadAccountant threadAccountant, MultiClusterRoutingContext 
multiClusterRoutingContext,
-      WorkerManager workerManager, WorkerManager multiClusterWorkerManager) {
+      WorkerManager workerManager, WorkerManager multiClusterWorkerManager,
+      ServerRoutingStatsManager serverRoutingStatsManager) {

Review Comment:
   **MAJOR — backwards-incompatible signature change to a `protected` factory 
method.**
   
   `createMultiStageBrokerRequestHandler` is `protected`, which makes it a 
de-facto extension point for downstream broker starters (e.g., StarTree's 
commercial fork, custom plugin broker subclasses that wire instrumentation). 
Adding `ServerRoutingStatsManager` as a required parameter silently breaks any 
subclass that overrode the prior 13-arg signature: after upgrade, the 
subclass's override is no longer invoked at the new call site (line 531).
   
   The constructor on `MultiStageBrokerRequestHandler` itself preserved the old 
13-arg form (line 154 — delegating with `null`) for exactly this kind of 
backward compatibility, but this factory method did not.
   
   Suggest: keep the 13-arg factory method (default it to delegate to the new 
14-arg one with `_serverRoutingStatsManager`), update the call site at line 531 
to use the 14-arg form, and let subclassers migrate at their own pace.



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


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

Reply via email to