freemandealer opened a new issue, #53798: URL: https://github.com/apache/doris/issues/53798
### Search before asking - [x] I had searched in the [issues](https://github.com/apache/doris/issues?q=is%3Aissue) and found no similar issues. ### Description # 任务描述 file cache 预热的时候,如果某个 be 节点在过程中发生错误,或者用户手动发出 cancel SQL,需要等一段时间才能完全关闭这次预热。这是因为 cancel 信号的传递需要时间,这个时间的源头是因为我们的预热分成 batch,be 节点一次预热一批数据(warm up task)。当这批完成以后才会知道自己是否需要预热下一批数据。我们现在需要一个机制,能够在 fe 收到 cancel 请求(发生错误或者用户手动提交)时,及时打断 be 节点正在执行的 warm up task。 # 背景知识 之前有录过一个串讲视频,就不文字详细介绍了,请看视频 https://www.bilibili.com/video/BV16c2ZYHEzm # 关注的主要源文件 BE侧: be/src/cloud/cloud_warm_up_manager.cpp FE侧: fe/fe-core/src/main/java/org/apache/doris/analysis/CancelCloudWarmUpStmt.java fe/fe-core/src/main/java/org/apache/doris/cloud/CacheHotspotManager.java # 方案 基本思路是在 be RPC层 (be/src/service/backend_service.cpp) 增加一个 cancel warm up 的接口,在新增的接口中调用 cloud_warm_up_manager 的 cancel逻辑(需要自行实现), 然后 FE 调用这个 rpc 就能快速关闭 be 上的 warm up task。 ### Use case _No response_ ### Related issues _No response_ ### Are you willing to submit PR? - [ ] Yes I am willing to submit a PR! ### Code of Conduct - [x] I agree to follow this project's [Code of Conduct](https://www.apache.org/foundation/policies/conduct) -- 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]
