FrankChen021 commented on code in PR #19413:
URL: https://github.com/apache/druid/pull/19413#discussion_r3201245255


##########
services/src/main/java/org/apache/druid/server/router/TieredBrokerHostSelector.java:
##########
@@ -266,7 +284,26 @@ private Pair<String, Server> getServerPair(String 
brokerServiceName)
       nodesHolder = servers.get(tierConfig.getDefaultBrokerServiceName());
     }
 
-    return new Pair<>(brokerServiceName, nodesHolder.pick());
+    Server picked = nodesHolder.pick();

Review Comment:
   [P2] Deployment-group filtering can be bypassed by router backup routing
   
   When the filter removes all brokers for a service, this returns a Pair with 
a null server, but `QueryHostFinder.findServerInner` then falls back to 
`serverBackup` for the same/default service. After an acceptable broker has 
been cached and later re-announces with a non-matching `deploymentGroup`, or is 
removed while the same host remains reachable, queries can still be routed to 
that cached broker despite the configured `acceptableDeploymentGroups`. This 
breaks the intended fail-closed red/black isolation; the filtered/no-match case 
should avoid backup fallback or validate/clear backup entries against the 
deployment-group filter.



-- 
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