github-actions[bot] commented on code in PR #65049:
URL: https://github.com/apache/doris/pull/65049#discussion_r3506524400


##########
fe/fe-core/src/main/java/org/apache/doris/system/BeSelectionPolicy.java:
##########
@@ -86,6 +87,12 @@ public Builder needQueryAvailable() {
 
         public Builder needLoadAvailable() {
             policy.needLoadAvailable = true;
+            policy.needNonDecommissioned = true;

Review Comment:
   `needLoadAvailable()` is used outside new-load selection, so making it imply 
`needNonDecommissioned()` changes regular external scan placement too. 
`ExternalScanNode.init()` initializes `FederationBackendPolicy`, and the 
default external scan query policy is 
`needQueryAvailable().needLoadAvailable()`. Since `Backend.isQueryAvailable()` 
and `Backend.isLoadAvailable()` still allow an alive, not-disabled 
decommissioning BE, this PR changes a compute group containing only that BE 
from being able to run Hive/Iceberg/Hudi/TVF scan fragments to returning no 
candidates. Please keep the existing `needLoadAvailable()` predicate semantics 
and add `.needNonDecommissioned()` only to the load/metadata selectors that 
must avoid draining BEs, or split the external scan policy so SELECT placement 
does not inherit the load-draining restriction.



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