-
Notifications
You must be signed in to change notification settings - Fork 8.8k
20240413
会议主持人:@funky-eyes(funky-eyes)
参会人(仅统计PPMC,其他参会人见附录):
下次双周会:
- 时间:
2024/4/27
。(如有时间变更,再另行通知,请订阅邮件列表:[email protected]
、[email protected]
) - 主持人:
-
合规与安全。@刘秋枫 @清铭 doing
- logo改造:seata 的 logo 加上 apache 的 logo,继续跟进; @刘秋枫
- 英文博客;从0到1;翻译现有的即可;todo;@汪忠祥 已完成16篇,所有文章的标题占位符已添加,还剩30-40篇 @zengxiang,这两周完成了10多篇;(预计1~1.5个月完成)剩余1/5,继续跟进
- seata sample 剩余125个 @亦夏 待启动,有前置依赖(PR已提交,建个新分支,先合进去,跑起来看看有没有问题)@清铭 待确认
- simple按新的格式在走的,代码规范需要兼容改造;待切换分支以及 licences check 的工作;待提交 PR 合并代码到 master 分支;@亦夏
- 新版的 seata-sample 代码根据文件夹组织,需要添加 workflow(代码目前放在 new-sample 分支上); @王良
-
https://github.com/apache/incubator-seata/discussions/6233 合规相关问题
- 外链:@刘秋枫 @清铭 done
- Apache Logo:Seata的Logo加上Apache元素。@清铭
- 集群中,添加一个节点时,需要校验该节点是否合法:@陈健斌(2/3 new)
- 【TODO】还有2个外链问题;漏洞官网3个,后端还有20个左右;已经完成大部分工作;后续再逐渐完善
- 前端漏洞修复完成,其他漏洞任务待认领;
-
百度搜索流量下跌问题(按照apache,不是seata io)。@刘秋枫
- 官网关键词优化(长期):前两周暂未处理,后面与提升页面体验分一起弄
- 提升页面体验分;todo(放二期;一期先关注合规;
- 跳转格式有问题,新域名下的链接手动提交修改,快速迁站流程。url mapping
- 百度搜索出来的官网的描述,内容优化,当前效果如下三个截图:(优先处理)
-
日志优化:(总体进度:20%不到)(@清铭 PR已提交,能满足国际化的要求,打出的堆栈都有对应的errorCode,错误信息里会显示一个链接链到FAQ页面中。)
- 根据定制的规范对其他的 exception 的格式做改造,待分配任务;
- seata-go 代码的错误码、日志输出等规范,待分配任务;链接的官方的 FAQ 上;和 seata java 保持一致,等 java 完成再开始;
- 【TODO】独立日志打印(现在框架和业务日志混在一起)@尹祥琨 todo
- 规范已经有了,后面再逐渐实施
-
【TODO】单测覆盖度目标 70% @汪忠祥 牵头 (2/3:前两周暂无进展)
- spring autoconfigure写完了(待 merge @张嘉伟)
- 覆盖率计算不准确问题([https://app.codecov.io/gh/apache/incubator-seata/tree/2.x/integration-tx-api%2Fsrc%2Fmain%2Fjava%2Fio%2Fseata%2Fintegration%2Ftx%2Fapi%2Fjson)](https://app.codecov.io/gh/apache/incubator-seata/tree/2.x/integration-tx-api%2Fsrc%2Fmain%2Fjava%2Fio%2Fseata%2Fintegration%2Ftx%2Fapi%2Fjson%EF%BC%89)
- 目标需要完成
- 变更覆盖率需要保持在70%
- 梳理现状模块覆盖率文档,牵头推动 @张嘉伟 @汪忠祥 1.8
- 写单元测试的标准,junit?mock,版本等;@汪忠祥
- 存量治理的最终目的,增量的必须达到什么标准?
-
【TODO later】集测回归能力建设 @张嘉伟 @熊靖浏;
- summer code e2e集成测试框架,docker compose,待确认(方案阶段)
- 集测方案/标准先确认下来; @张嘉伟 下次周会来个简版的演示
- PR地址: https://github.com/apache/incubator-seata/pull/6319
- 事后运行集成测试
- redis需要测试版本兼容性
- 已经有方案,已在会后进行演示,待最终确认方案
- summer code e2e集成测试框架,docker compose,待确认(方案阶段)
-
兼容性测试(jdk、arch、spring core+boot、druid)@王良;
- 测试MySQL Driver版本;workflow不同版本兼容性测试;与集测一起看(待集测框架完成)
-
性能benchmark @亦夏(整体框架已经搭建)(2/3:暂无进展);
- 只测框架消耗,sql逻辑
- 开源压测工具协助,建立基准性
- 包含图形化 (这个含义待确定)
- 确定增加新的模块实现;
- 性能基准问题;
- poc给大家演示下;@亦夏 下周提交初版代码;
-
seata go方向
-
【TODO 待补充结论资料】鉴权:@蒋俊敏
- TM的request和RM的request的鉴权(PR已提交,待review);健斌已看过代码,基本上已完成,需要拉会进一步确认; 目前俊敏正在实习找工作中比较忙,该任务暂时没有进展,评估后可暂缓,因为2.1版本还未发布,该功能整合到2.2中
- resource id + application name唯一标识确认 @陈健斌 优先级较低,暂时没时间(有时间再发起讨论)
- resource id可能重复,导致下发问题,保证唯一,最终方案暂定,重新拉会议讨论
- 达梦数据库:schema只能填一个(已向达梦技术人员确认)
- 下次开会沟通,准备文档;要求可动态扩展;
- resource id可能重复,导致下发问题,保证唯一,最终方案暂定,重新拉会议讨论
- seata go方向:
- 生态拓展:B站等等服务框架 @清铭 字节 @hong fan 下周再看做不做 1月底(跟字节的Cloud-We-GO聊了一下,文章两边挂,他们帮review。)
- 【TODO】控制台token自动刷新 @刘秋枫 方案完成done (待投票,截止时间周一20231225) 俊敏 下周pr
- token自动续期方案选型讨论
- PR待提交(优先TM和RM的鉴权处理)
- TYPE_SEATA_MERGE 的消息需要独立线程池处理 健斌 todo
- Message independent thread pool for TYPE_SEATA_MERGE · Issue #6197 · apache/incubator-seata (github.com)
- 方案已确定:分成两个线程池,一个NIO线程池,还有一个消息处理线程池。
- PR待2.1完成发版后提交
- RM/proxy init启动先后顺序问题;(seata 2.2 版本) @海涛 @亦夏 1月底开始投入
- TM/RM未init,rm注册,不再忽略,直接异常;TODO,确认
io.seata.core.rpc.netty.RmNettyRemotingClient#registerResource getClientChannelManager().getChannels().isEmpty()
情况下,是否会执行RM注册 @清铭 - 方案已确定,PR已在开发,进度:70% @海涛 ;开发完了,目前在处理冲突;
- 影响的单测比较多,需要再梳理下,下一个版本支持; @亦夏
- TM/RM未init,rm注册,不再忽略,直接异常;TODO,确认
- jackson是强依赖 scope-provided 修改成compile依赖(seata 2.2 版本) @亦夏 @海涛
- 优先级较低:@海涛 @亦夏
- saga 的 auto type 去除;@亦夏
- 【TODO】2.1版本核心同步:(打 * 为重要,必须上)
- saga增强;控制台saga设计器改版; 前端资源带动,任务跟上;
- 并行任务(PR未合并)
- Saga Trace Spring:PR已提交,由于包名调整,需再调整,后面再review。
-
- 老的io.seata的api 兼容;仅剩spi调整io.seata和apache seata实现的优先级和兼容三方实现的configuration
- saga增强;控制台saga设计器改版; 前端资源带动,任务跟上;
- 多线程分支注册回滚顺序错漏(seata 2.2 版本)
老方案: - 多线程并发使用seata的问题 · Issue #6311 - 导致了有数据依赖的分支,回滚顺序错误的问题。 @陈健斌(方案待讨论:性能与一致性问题,需再拉会议讨论) - 多线程创建多个分支,且事务决议回滚时,还有分支在注册,导致回滚时读取的branch少一个分支,回滚顺序错乱,回滚事务。 - 解决方案可合并回滚,比如同一个资源,在一个下发中一次性回滚,这样就可以避免多次下发,且回滚顺序可能不对的问题,下发到本地时完全就可以select for update查询xid对应的undolog,按照本地的时间戳进行回滚。 - 缺点undolog的datetime精度要准确到纳秒级别
新方案: - 同步下发时不进行更改status为rollbackfailed,失败就改为retryrollbacking,在异步中还是遇到脏数据无法回滚时再标记为rollbackfailed 9. 【TODO】市面上与Seata相关的文章混乱问题: @zengxiang - 从入门到放弃文章:https://blog.csdn.net/wnn654321/article/details/116804214 10. undolog 前后镜像批量插入导致超过64mb 包大小限制 https://github.com/apache/incubator-seata/issues/6451 @正涛兄 - 方案一 rollbackinfo里插入一个parentid,然后分成多个undolog,按xid+branch查父undolog,再解析rollbackinfo,如果其中存在parentid,那么就通过xid+branchid(parentid)进行查询,做聚合处理 - 方案二 遇到该异常,提示建议用户将默认大小调成3倍,64mb*3,因为undolog中的before after image加一块可能是3倍大小 11. 中科院的开源之夏课题讨论 - 注册中心和配置中心接入spring boot actuator,同时现有的actuator/health增加更多的seata属性(比如说正在运行中的全局事物,包含at, tcc, xa, saga的数量),最终接入把内容接入到控制台 - seata对接rocksdb,支持存放动态配置,自闭环注册配置中心一体 - namingserver 7层代理,客户端通过grpc协议直连namingserver,namingserver调度客户端流量至tc - seata-k8s operator 支持 server db 模式存储,当前的 operator 仅使用 statefulset 实现了 raft 集群部署 server 的管理,对于常用的 db 模式没有做支持,期望通过改造 CRD 和 controller 扩充对 db 模式的支持。 - seata-ctl 扩展 server 集群管理能力。当前的 seata-ctl 充当一个 TransOps 的工具,希望后续能做成一个 All-in-one cli tool,比如通过发放 CRD 实现对 k8s seata-server 进行 scale、状态检查、问题排查等功能。
Issue | Description | Github ID | Status |
---|---|---|---|
configuration log output · Issue #6191 · apache/incubator-seata (github.com) | 按照配置所属的模块做日志输出 | 王良 | pr review |
复合主建自增表结构,插入多行数据且未携带主键值时执行异常 · Issue #5043 · apache/incubator-seata (github.com) | 限制sql使用,比如要么都没有pk,要么都有pk,不允许批量插入的时候部分有,部分无的情况 | 建国 | 为BUG,需处理 |
seata1.5.2主键中带有逗号导致获取全局锁lock key值错误 · Issue #5136 · apache/incubator-seata (github.com) | pk存在逗号,导致竞争锁不准的bug 1. 文档标注 2. 客户端校验包含逗号直接报错 3. 协议版本协商功能 4. 含有逗号的base64处理+特殊标识 |
俊敏 | Done |
PR | Description | Reviewer | Status |
---|---|---|---|
feature: saga remove spring by wt-better · Pull Request #6017 · apache/incubator-seata (github.com) | 清铭,健斌,宗杰,王良 | done | |
feature: Saga annotation by leezongjie · Pull Request #5300 · apache/incubator-seata (github.com) | 健斌,亦夏,王良,清铭 | 依赖5399;拉会沟通(seata 2.2 版本) @亦夏(处理包名再review) | |
Compatible with the SPI 、saga、spring module | 健斌,亦夏,王良,清铭 | 依赖5399;拉会沟通(seata 2.2 版本) @亦夏(处理包名再review) |
- E2E集成测试框架效果演示(2024/2/3)@嘉伟
- 容器编排
- yamL文件定义测试流程,排除code的侵入,形成workflow
- workflow能否满足,dubbo这边的测试框架
- 进度:
- 20230316:目前已经梳理完四种模式的场景,技术选型确定使用 skywalking,待提交 PR @嘉伟
- 确定所有事务模式能否适配,下次做一个场景的 POC
- 20230316:目前已经梳理完四种模式的场景,技术选型确定使用 skywalking,待提交 PR @嘉伟
- ApacheCon 7月份在杭州启动议题类别,大家可以报名