Skip to content

20240622

will edited this page Jun 30, 2024 · 1 revision

参会人:张嘉伟(主持人)、清铭、陈健斌、汪忠祥、付德蓉

会议时间:2024/06/22

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

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


会议议题

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

二、活动/运营信息同步

  • 开源之夏议题,4个议题,具体可以参考[email protected]
  • ALC活动
  • Apache Con

三、官网/文档

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

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

文档

  • 英文博客:@汪忠祥 已完成28篇翻译,剩余3篇
  • 文档问题:@刘秋枫 官网文档目前是整体一篇,需要治理下;
  • 市面上与Seata相关的文章混乱问题@汪忠祥

四、发版信息

  • 2.1 apache rc4投票

五、质量建设

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

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

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

兼容性测试 @王良

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

BenchMark @亦夏

  • 目标:建立seata性能基线、能够获取到当前系统/服务的性能以及变化,并且进行图形化输出;支持火焰图、trace、基准比对,异常预警等能力;
  • 进度:
    • 提交第一版pr,支持微基准、profiler能力
    • 压力、吞吐量测试需要new出不同的seataClient,依赖api改造

六、其他讨论事项

日志优化

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

8091端口鉴权@健斌

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

naming server@健斌

  • review中

0.71版本协议支持@健斌

  • review中

resource id + application name唯一标识/Server端寻址逻辑确认

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

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

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

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

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

jackson依赖问题@亦夏

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

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

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

API回滚后仍然提交

global_table积压问题 @付德蓉

  • 目前的现状是,committing状态在定时器扫描每次捞1000条数据的情况下,过滤出超过130s的事务,进行单条更新删除操作,在高并发5000r/s下,前者更新删除操作太缓慢,导致global_table数据太多了。
  • 单个节点,global_table累积多
  • 方案1:数据分片方案, 使用多个锁. 缺点:global_table需要增加字段
  • 改为批量删除后,瓶颈仍然在committing -> committed的更新处
  • 下周继续讨论

AT回滚失败问题@树杰

https://github.com/apache/incubator-seata/issues/6561, 被删除的数据其中一列是一个唯一索引,然后回滚的时候要插回来这个数据,但是唯一索引被其他行给用了,导致回滚失败 结论:oracle在获取table meta时,使用table meta的table name去覆盖用户sql传入的table name

  • 如何解决tc无法获取真实的table meta待定

单点服务限流

  • 下次周会讨论

会议结论

一些比较大的功能点/设计,需要在讨论前形成技术文档,避免在大家不了解背景的情况下进行讨论。同时做到事后可追溯 不开没有结论的会。哪怕“方案取消”或“下次再议”,也是结论的一种。

Tcc回滚失败/resource id 唯一标识

会议结论:需要对resource id唯一标识、server channel寻址逻辑进行重新设计;保证版本间的兼容性;单独拉会讨论

执行计划(TODO)

  • seata序列化性能优化 @亦夏

  • 集群中,添加一个节点时,需要校验该节点是否合法:@陈健斌 2.2 推进

Clone this wiki locally