github-actions[bot] commented on code in PR #65049:
URL: https://github.com/apache/doris/pull/65049#discussion_r3499997149
##########
fe/fe-core/src/main/java/org/apache/doris/system/BeSelectionPolicy.java:
##########
@@ -156,6 +162,7 @@ private boolean isMatch(Backend backend) {
if (needScheduleAvailable && !backend.isScheduleAvailable()
|| needQueryAvailable && !backend.isQueryAvailable()
|| needLoadAvailable && !backend.isLoadAvailable()
+ || needNonDecommissioned && (backend.isDecommissioned() ||
backend.isDecommissioning())
Review Comment:
The new policy still is not applied to two other FE-created new-load
selectors. `StreamingJobUtils.selectBackend()` filters cloud backends only with
`Backend::isLoadAvailable` and builds the local policy as
`setEnableRoundRobin(true).needLoadAvailable().build()`, so
`StreamingMultiTblTask.sendWriteRequest()` can still send `/api/writeRecords`
with `streamLoadProps` to a draining BE. Routine load has the same gap: local
`RoutineLoadManager.getAvailableBackendIds()` uses
`.needLoadAvailable().build()` policies, cloud
`CloudRoutineLoadManager.getAvailableBackendIds()` filters only
`Backend::isAlive`, and `RoutineLoadTaskScheduler.submitTask()` sends the
resulting `TRoutineLoadTask` to that BE after Kafka/Kinesis tasks build
`NereidsStreamLoadPlanner` fragments. This is distinct from the existing
`LoadSubmitter`/`MysqlLoadManager` thread; please apply the non-decommissioned
filter/policy to these selector families too and add focused cloud/local tests.
--
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]