登录
注册
开源
企业版
高校版
搜索
帮助中心
使用条款
关于我们
开源
企业版
高校版
私有云
模力方舟
登录
注册
医疗 AI 怎么落地?本周四晚 19:30,「智医灵枢」开发者直播开讲,来听听一线医院的实战分享!
代码拉取完成,页面将自动刷新
捐赠
捐赠前请先登录
取消
前往登录
扫描微信二维码支付
取消
支付完成
支付提示
将跳转至支付宝完成支付
确定
取消
Watch
不关注
关注所有动态
仅关注版本发行动态
关注但不提醒动态
30
Star
22
Fork
108
openGauss
/
CM
代码
Issues
25
Pull Requests
15
Wiki
统计
流水线
服务
JavaDoc
PHPDoc
质量分析
Jenkins for Gitee
腾讯云托管
腾讯云 Serverless
悬镜安全
阿里云 SAE
Codeblitz
SBOM
我知道了,不再自动展开
254
规避因心跳建联差异所导致的节点被意外踢出的问题
已合并
songlinxuan:922test
openGauss:6.0.0
songlinxuan
创建于 2024-09-22 18:13
克隆/下载
HTTPS
SSH
复制
下载 Email Patch
下载 Diff 文件
<!-- 感谢您提交Pull Reqeust --> <!-- 提交说明: 请按照以下的模板提交PR,下列内容均为必填项。如果未补充对应内容,不允许提交PR。 --> 【标题】规避因心跳建联差异所导致的节点被意外踢出的问题 【实现内容】: 实现内容两部分: 1. 修正因代码逻辑错误导致三节点(序号1,2,3)情况下,因1、2节点断链导致无法判断1,3节点连通性的问题; 2. 将双链路检测变更为单链路检测,避免因故障节点加入,导致其他节点被踢出; 通过上述逻辑一定程度上规避因为建联单向链路通所导致的意外kick out问题; 【根因分析】: 当前仲裁逻辑存在缺陷,当三节点仲裁(序号1,2,3)情况下,因1、2节点断链导致无法判断1,3节点连通性的问题,1节点遍历到3节点的时候,删除的if条件会恒成立,无法遍历三节点连通性; 意外踢出本质上是因为CBB MES底层TCP连接存在断链探活缺陷,无法在短暂down if网卡下检测链路不通,导致socket未关闭,从而超时重传导致各条链路收包时间点存在差异。在该差异情况下,有概率会导致CMS判断两个节点链路单向链路不同,从而根据仲裁算法踢出某个节点; 【实现方案】: 1. 修正因代码逻辑错误导致三节点(序号1,2,3)情况下,因1、2节点断链导致无法判断1,3节点连通性的问题; 2. 将双链路检测变更为单链路检测,避免因故障节点加入,导致其他节点被踢出; 【关联需求或issue】: 【测试类型:功能测试】【测试版本:6.0.0】【资源池化】nof+双链路:构造单节点单链路故障后,恢复链路故障导致业务发生阻塞 https://e.gitee.com/opengaussorg/dashboard?issue=IALMWI 【测试类型:SQL功能】【测试版本:6.0.0】【资源池化】CMS与DN同节点,备一故障恢复后,引起备二节点重启 https://e.gitee.com/opengaussorg/dashboard?issue=IAK0F6 【开发自验报告】: 1. 请附上自验结果(内容或者截图) 一主两备情况下,周期性对备一做故障,原有逻辑为概率性出现2节点在网卡周期内频繁踢出或3节点被踢出,目前连跑自测无该情况:  注:由于Gittee审核原因,无法上传时间戳 2. 是否可以添加fastcheck测试用例,如是,请补充fastcheck用例 3. 是否涉及资料修改,如是,在docs仓库补充资料 4. 是否考虑升级场景(系统表修改、日志持久化以及修改执行态数据格式) 5. 是否考虑在线扩容等扩展场景 5. 是否考虑异常场景/并发场景/前向兼容/性能场景 6. 是否对其他模块产生影响 【其他说明】:
此 Pull Request 需要通过一些审核项
类型
指派人员
状态
审查
opengauss-bot
已完成
(0/0人)
测试
opengauss-bot
已完成
(0/0人)
怎样手动合并此 Pull Request
git checkout 6.0.0
git pull https://gitee.com/muyulinzhong/CM.git 922test
git push origin 6.0.0
评论
20
提交
1
文件
1
检查
代码问题
0
批量操作
展开设置
折叠设置
审查
Code Owner
审查人员
yz
yz_db
dengyong
dengyong2
wangwei5
wangwei5
zjxqxf
zjxqxf
胡习林
hu-xilin
wanghuanzhuo
wanghuanzhuo
熊小军
xiong_xjun
周斌
justbk
胡正超
gentle_hu
杨皓
yanghaos
alfredwang
alfredwang82
peibaoyi
peibaoyi
陈栋
chendong76
zhulixia
zhulixia
cchen676
struggle_hw
yangwei
yangwei129
yewk
yewk
黄堰蛟
huang-yanjiao
songlinxuan
muyulinzhong
Carl
chen-zhikai-999
薛蒙恩
xue_meng_en
周聪
congzhou2603
opengauss-bot
opengauss-bot
未设置
最少人数
0
测试
yz
yz_db
dengyong
dengyong2
wangwei5
wangwei5
zjxqxf
zjxqxf
胡习林
hu-xilin
wanghuanzhuo
wanghuanzhuo
熊小军
xiong_xjun
周斌
justbk
胡正超
gentle_hu
杨皓
yanghaos
alfredwang
alfredwang82
peibaoyi
peibaoyi
陈栋
chendong76
zhulixia
zhulixia
cchen676
struggle_hw
yangwei
yangwei129
yewk
yewk
黄堰蛟
huang-yanjiao
songlinxuan
muyulinzhong
Carl
chen-zhikai-999
薛蒙恩
xue_meng_en
周聪
congzhou2603
opengauss-bot
opengauss-bot
未设置
最少人数
0
优先级
不指定
严重
主要
次要
不重要
标签
approved
opengauss-cla/yes
ci-pipeline-success
lgtm-gentle_hu
lgtm-struggle_hw
sig/cm
codecheck-success
关联 Issue
IAK0F6
【测试类型:SQL功能】【测试版本:6.0.0】【资源池化】CMS与DN同节点,备一故障恢复后,引起备二节点重启
IALMWI
【测试类型:功能测试】【测试版本:6.0.0】【资源池化】nof+双链路:构造单节点单链路故障后,恢复链路故障导致业务发生阻塞
Pull Request 合并后将关闭上述关联 Issue
里程碑
未关联里程碑
参与者
(5)
Cherry-pick 提交
Cherry-pick 可以将
特定提交(Commit)
从某个分支挑选并应用到另一个分支,实现快速集成特定更改,而无需合并整个分支。
请选择应用 Cherry-pick 提交 (Commit) 的目标分支
新建分支
当前账号不存在 Fork 仓库,建议 cherry-pick 到 Fork 仓库。
Fork 仓库
提交列表
Commit SHA
Commit Message
基于 Cherry-pick 后的分支发起 Pull Request
取消
Cherry-pick
1
https://gitee.com/opengauss/CM.git
git@gitee.com:opengauss/CM.git
opengauss
CM
CM
点此查找更多帮助
搜索帮助
Git 命令在线学习
如何在 Gitee 导入 GitHub 仓库
Git 仓库基础操作
企业版和社区版功能对比
SSH 公钥设置
如何处理代码冲突
仓库体积过大,如何减小?
如何找回被删除的仓库数据
Gitee 产品配额说明
GitHub仓库快速导入Gitee及同步更新
什么是 Release(发行版)
将 PHP 项目自动发布到 packagist.org
仓库举报
回到顶部
登录提示
该操作需登录 Gitee 帐号,请先登录后再操作。
立即登录
没有帐号,去注册