Repository navigation
Design RDMA runtime recovery and controlled TCP fallback - #91
Closed
Spicy-cream wants to merge 1 commit into
Closed
Spicy-cream wants to merge 1 commit into
Spicy-cream wants to merge 1 commit into
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
当前 RDMA 握手支持回落 TCP,但建链后的错误 CQE 主要使连接失败,端口错误事件尚未与后续建链的隔离、冷却和恢复策略联动。本 PR 提出运行期故障恢复特性设计,基于 LinQuickDev/brpc master 的 87d498d。
设计涵盖本地端口与对端路径分层状态机、故障冷却及单连接恢复探测、AUTO/TCP_ONLY 运行时控制、连接池退休与代际隔离、后续新连接回落 TCP,以及多端口主备所需的设备资源域和按 PD 注册内存。正常 SQ 窗口耗尽继续作为 EAGAIN 背压,RNR 与传输重试耗尽分别处理,避免把单个对端问题误判为本地端口故障。
故障连接不在原 TCP fd 上切换数据流,不在 transport 中重放已经提交的请求。RPC 重试仍由现有策略、配额和 deadline 决定。跨 HCA 切换需要先改造 context、PD、MR 和 lkey 所有权;DEVICE_FATAL 的非致命恢复须以资源安全排空验证为前提。
交付分为单设备隔离与 TCP 恢复、SQ 停顿检测和有限 RNR 配置、多设备主备三个阶段。文档包含接口落点、配置建议、生命周期约束、可观测性和单测及真机故障注入验收矩阵,并在中文 RDMA 文档增加入口。