github-actions[bot] commented on code in PR #63832:
URL: https://github.com/apache/doris/pull/63832#discussion_r3332590947
##########
fe/fe-core/src/main/java/org/apache/doris/cloud/CloudWarmUpJob.java:
##########
@@ -741,8 +981,13 @@ private void runEventDrivenJob() throws Exception {
throw new IllegalArgumentException("Unknown SyncEvent " +
syncEvent);
}
request.setEvent(event);
- LOG.debug("send warm up request to BE {} ({}). job_id={},
event={}, request_type=SET_JOB(EVENT)",
- entry.getKey(), getBackendEndpoint(entry.getKey()),
jobId, syncEvent);
+ if (hasTableFilter()) {
+ request.setTableIds(new ArrayList<>(getCurrentTableIds()));
+ }
+ LOG.debug("send warm up request to BE {} ({}). job_id={},
event={}, "
+ + "request_type=SET_JOB(EVENT),
table_ids_count={}",
+ entry.getKey(), getBackendEndpoint(entry.getKey()),
jobId, syncEvent,
+ hasTableFilter() ? getCurrentTableIdNames().size() :
"all");
Review Comment:
Table-level warm-up depends on this new optional thrift field to keep source
BEs from warming unrelated tables. During a rolling upgrade, an old BE will
ignore unknown `table_ids` and process the `SET_JOB` as a cluster-level
event-driven job, so any table-level job created before every source BE is
upgraded will warm all tables instead of the ON TABLES set. Please gate
creation/update on BE support or otherwise make old BEs reject table-filtered
jobs before enabling this path.
##########
be/src/cloud/cloud_warm_up_manager.cpp:
##########
@@ -802,18 +929,18 @@ void CloudWarmUpManager::_recycle_cache(int64_t tablet_id,
auto dns_cache = ExecEnv::GetInstance()->dns_cache();
Review Comment:
Passing `table_id=0` disables the new table-level filter for recycle-cache
events. When rowsets from an unmatched table are GC'd or compacted on the
source, every table-level warm-up job can still receive `PRecycleCacheRequest`
and evict target cache for tables outside its ON TABLES filter. The callers are
`CloudTablet` methods and can use the tablet's table id, so please propagate it
through `recycle_cache`/`_recycle_cache` and apply the same filtering as
`warm_up_rowset`.
--
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]