Skip to content

20240525

wt_better edited this page May 25, 2024 · 9 revisions

参会人:

会议时间:2024/05/25

下次会议时间:2024/06/08

如有时间变更,再另行通知,请订阅邮件列表:[email protected][email protected]


会议议题

一、安全合规 @刘秋枫 @清铭

  • seata主项目目前存在18个安全漏洞,seata sample 剩余59个安全漏洞,2个外链问题;漏洞官网3个;
  • logo改造:seata 的 logo 加上 apache 的 logo,继续跟进; @刘秋枫
  • https://github.com/apache/incubator-seata/discussions/6233 合规相关问题 - 外链:check 已合规 - Apache Logo:Seata的Logo加上Apache元素。@清铭
  • 集群中,添加一个节点时,需要校验该节点是否合法:@陈健斌 2.2 推进
  • **seata-go **包名修改,github.com/seata/seata-go修改到 seata.apache.org/seata/seata-go,pr:https://github.com/apache/incubator-seata-go/pull/678

二、活动/运营信息同步

三、官网/文档

官网访问流量治理 @刘秋枫

  • 官网关键词优化(长期):前两周暂未处理,后面与提升页面体验分一起弄
  • 提升页面体验分;todo(放二期;一期先关注合规;
  • 跳转格式有问题,新域名下的链接手动提交修改,快速迁站流程。url mapping

文档

  • 英文博客:@汪忠祥 已完成16篇,所有文章的标题占位符已添加,还剩30-40篇  @zengxiang,这两周完成了10多篇;(预计1~1.5个月完成)剩余1/5,继续跟进
  • 文档问题:官网文档目前是整体一篇,需要治理下;
  • 市面上与Seata相关的文章混乱问题: @zengxiang
    • 从入门到放弃文章

四、发版信息

  • 预期5月底发布seata java,2.1版本

五、质量建设

单测/变更覆盖率目标 @汪忠祥

集测回归能力建设 @张嘉伟 @熊靖浏

  • 目标:完整、自动化、持续集成,能够完成功能、稳定性、用户体验、安全上能力的验证
  • 进度:集测框架,方案已确认,并进行了初步演示:先按照skywalking-e2e编写的方式,按照一个个sample去编写e2e的集成测试,本地测试需要安装go依赖和docker
    • [WIP] feat: add e2e framework support by xjlgod · Pull Request #651 · apache/incubator-seata-samples (github.com)
    • pr已提交,待合并

兼容性测试 @王良

  • 目标:兼容性测试需要包含:jdk、arch、spring core+boot、druid,确保在各个环境下稳定运行
  • 整体依赖集成测试的进度

BenchMark @亦夏

  • 目标:建立seata性能基线、能够获取到当前系统/服务的性能以及变化,并且进行图形化输出;支持火焰图、trace、基准比对,异常预警等能力;
  • 进度:目前演示了poc的版本,待完善,整体进度进度50%;
    • 压力、吞吐量测试需要new出不同的seataClient,依赖api改造
    • seata-benchmark工程是单独工程还是放在seata主项目,主项目中兼容包会有影响

六、其他讨论事项

日志优化

  • 总体进度:20%不到(@清铭 PR已提交,能满足国际化的要求,打出的堆栈都有对应的errorCode,错误信息里会显示一个链接链到FAQ页面中。)
  • 根据定制的规范对其他的 exception 的格式做改造,待分配任务;
  • seata-go 代码的错误码、日志输出等规范,待分配任务;链接的官方的 FAQ 上;和 seata java 保持一致,等 java 完成再开始;
  • 独立日志打印(现在框架和业务日志混在一起)@尹祥琨 todo

8091端口鉴权

  • TM的request和RM的request的鉴权(PR已提交,待review);健斌已看过代码,基本上已完成,需要拉会进一步确认
  • 目前俊敏正在实习找工作中比较忙,该任务暂时没有进展,评估后可暂缓,因为2.1版本还未发布,该功能整合到2.2中

resource id + application name唯一标识确认

  • resource id可能重复,导致下发问题,保证唯一,最终方案暂定,重新拉会议讨论 ,优先级较低
    • 达梦数据库:schema只能填一个(已向达梦技术人员确认)

控制台token自动刷新 @刘秋枫

  • token自动续期方案选型讨论完成、PR待提交

RM/proxy init启动先后顺序问题

  • TM/RM未init,rm注册,不再忽略,直接异常;改动影响比较大,暂定2.2版本去做

jackson依赖问题

  • 是强依赖 scope-provided 修改成compile依赖 done
  • jackson高版本禁用autotype,saga如何适配?

多线程分支注册回滚顺序错漏

  • Issue #6311
  • 多线程创建多个分支,且事务决议回滚时,还有分支在注册,导致回滚时读取的branch少一个分支,回滚顺序错乱,回滚事务
  • 方案:
    • 同步下发时不进行更改status为rollbackfailed,失败就改为retryrollbacking,在异步中还是遇到脏数据无法回滚时再标记为rollbackfailed后者通过多线程插件标准api去创建并行分支事务
    • 多线程事务里面分支提交/回滚的顺序本身是一个伪命题,暂不支持,从官网或者文档上透出

undolog 前后镜像批量插入导致超过64mb 包大小限制

  • 方案确定: rollbackinfo里插入一个parentid,然后分成多个undolog,按xid+branch查父undolog,再解析rollbackinfo,如果其中存在parentid,那么就通过xid+branchid(parentid)进行查询,做聚合处理
  • 需要注意:1)包大小和数据库版本的关系 2)console后续查询时需要聚合配置

AT回滚失败问题

https://github.com/apache/incubator-seata/issues/6561, 被删除的数据其中一列是一个唯一索引,然后回滚的时候要插回来这个数据,但是唯一索引被其他行给用了,导致回滚失败

Tcc 兼容包二阶段兼容问题

Tcc 二阶段提交问题

会议结论

不开没有结论的会。哪怕“方案取消”或“下次再议”,也是结论的一种。

  • 多线程分支注册回滚顺序问题,暂不支持,文档上提示
  • seata-benchmark模块放在seata主项目

执行计划

  • seata-benchmark验证序列化性能,理论上seata自身的序列化协议应该是最快的 @亦夏
Clone this wiki locally