Skip to content

20241130

funkye edited this page Nov 30, 2024 · 1 revision

参会人:王良,清铭,陈健斌,刘月财,张峰,程兴源,李树杰,吴江坷,谢明华,汪忠祥等

会议时间:2024/11/30

下次会议时间:2024/12/16 ReleaseManager: 亦夏

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

一、安全合规

  • seata 项目安全漏洞 @清铭

    20241017:

    • 2.1版本,CVE,客户端到server漏洞,完成

    • Raft漏洞 已合并至2.3

    • 压缩长度问题,影响可控,需要优化,预计2.3修复

      20241130: 已合并

    • 客户端-服务端,固定密钥问题,2.3版本来不及,放在后续迭代修复

    • 后续第三方依赖漏洞,走迭代修复

  • Apache Logo:Seata的Logo加上Apache元素。@清铭

二、活动/运营信息同步

  • 开源之夏议题,具体可以参考[email protected]
    • 目前课题都已经完成,后续需要推进进行版本合并
  • ALC hangzhou活动;
  • GLCC 10月21~30日结项,项目未通过

三、官网/文档

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

    1. nacos和higress 已改版,后续dubbo,之后seata也进行改版。
    2. 智能答疑,参考nacos/higress

    20240907:交由阿里内部人员统一处理,sentinel改完后再改seata,需要几个月后才能完成,涉及合规相关问题,尽量小改。

    20241130:增加百度百科的seata词条,内置seata官网和github外链,待审核。

  • 官网关键词优化(长期):后面与提升页面体验分一起弄

  • 提升页面体验分;todo(放二期;一期先关注合规 done

  • 文档:博客问题:@刘秋枫 官网文档目前是整体一篇,需要治理下;

  • 2.0与2.1的新feature的需要一些博客pr,发布在官网,公众号等渠道

    • rocketmq集成 @嘉伟 - 进行中
    • api重构 设计文档发布到官网,然后再编写一篇博客 @瑞姗
    • seata-k8s @祥琨 - 暂无进展
    • seata默认序列化优化 @亦夏
    • 2.3新增fastjson2和apache fury序列化博客 @树杰

四、发版信息

发版规则

  1. 大版本计划改为每个版本有一个重点feature,只要这个重点feature完成,就可以考虑发大版本
  2. 如果没有达到第一点要求,release manager认为将bugfix和optimize的commits梳理后merge到小版本上进行pr提交,测试,验证,然后进行独立的小版本release.

2.3版本pr进度

  • 可选项:分批上鉴权能力,第一步:raft集群间的鉴权 @依霖

    • tls 已合并

    20241130:后续待补充使用文档及安全相关专门页面

  • saga注解化:pr已提交,待review

  • 并行提交/回滚 问题,raft,长事务模式比较明显;整个行为上锁;redis模式不会上锁:https://github.com/apache/incubator-seata/pull/7005

    20241130:已合并,目前去除上锁方案,仅兼容重复回滚等行为,因为tcc开启防悬挂后以及at和xa都是幂等的。

  • grpc (客户端-seata server) 20241102: grpc pr目前已合并

    • 需要在增加多语言继承的示例

      20241130:预计本周末提交博客 @明俊

    • 考虑增加模版化,基于grpc包装一个客户端,方便多语言集成; @明俊

  • 可选项:事务控制ctl 放置2.4版本 ​

五、质量建设

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

    迭代中,单侧覆盖度的统计问题;单侧报告里面包含了依赖相关代码,导致覆盖率下降 规则:sonar,sonarcloud -> 组织管理员

    20241130:单测覆盖度本周增加0.25%,sonar先搁置其沟通和使用成本过高,争取达到60%的单测覆盖度(目前53%)

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

    目标:完整、自动化、持续集成,能够完成功能、稳定性、用户体验、安全上能力的验证

    进度:

    20241102:完成完成e2e全部case 20241116:增加saga注解模块

    20241130:saga注解化sample待2.3发版后合并,随后增加e2e集测

  • 兼容性测试@王良 @熊靖浏

    目标:兼容性测试需要包含:jdk、mysql-driver,arch等,确保在各个环境下稳定运行

    整体依赖集成测试的进度

    20241116,在e2e模块实现mysql-driver不同版本的兼容性测试

    20241130:后续调研是否能满足在相同sample中根据不同mysql-driver跑多个流水线

  • BenchMark @亦夏

    目标:建立seata性能基线、能够获取到当前系统/服务的性能以及变化,并且进行图形化输出;支持火焰图、trace、基准比对,异常预警等能力;

    进度:已完成:提交第一版pr,支持微基准、profiler能力,后续:压力、吞吐量测试需要new出不同的seataClient,依赖api改造 20241019:Seata多client进度延期,先简单出一版基准的测试,支持namingserver benchmark建设 @亦夏

六、其他讨论事项

  • apache fury 序列化集成 @树杰 20240921: 疑似注册顺序导致id相同,类不同,导致反序列化失败 20241102: 其他问题修复中(注意安全漏洞),序列化安全类,参考dubbo实现

    20241130:采用seata自带安全类方式检测,关闭fury白名单后已提交pr

  • seata-spring-boot-starter 支持读取file.conf和registry.conf 20241102:

    20241130:已留言,预计本周能合并。

  • 全局统一json工具 20241019:任务已经发布,待认领

  • seata-go 1.5.2 功能对齐 https://github.com/apache/incubator-seata/pulls?q=is%3Apr+label%3Amultilingual+is%3Aclosed

    • saga功能,feature/saga,60-70%

      20241130:近期拉会重启该任务

    • 日志优化,待认领;

    • 功能对齐

      20241130:目前正在check跟seata-java的功能,分发任务中

  • TM/RM 快速失败只有在节点全部不可用才失败 @正涛

    20240907:待提交pr,增加社区issue

    20240921:下周开始相关设计

    20241130:已合并

  • saga json序列化autotype问题 20241019:修改默认的序列化方式为非autoType方式,不支持接口子类型,兼容历史产生的数据,如果仍需要的话需要自己重写jsonparser,pr待提交

  • raft集群nat场景支持

    1. 跨机房调用时,不同机房网段不同,通过nat转换后再不同的机房同一个tc的ip是不同的
    2. k8s场景,k8spodip无法被集群外直连,需要映射出一组可用的ip供外部使用

    20241102: 任务描述,增加issue

  • client多连接支持优化lb直连场景体验

    1. 无注册中心下,由于通过file读取lb地址后,针对一个地址只创建单一连接,导致tm,rm可能通过lb负载到了不同的tc节点,导致tm决议时,rm无法提交/回滚事务
    2. 单一连接可能存在连接异常,无限重传包等问题

    20241102: 待后续跟进

    20241130:rm侧无重试(rm侧不应该重试,容易有幂等问题),tm重试时连接依然需要等待doconnect才能成功

  • 单点服务限流 @靖浏

    20240817:限流组件选定为bucket4j,bucket4j内没有使用synchronized,所以不影响虚拟线程,可继续完成该任务。目前由于限流后client会报错,但是不方便追踪,故通过生成雪花id+client相关信息放入异常中,可通过server日志和client日志进行排查是否被限流,再增加一个metrics以便排查。 20241019:pr已提待review,放在2.3版本中

    遗漏问题:server与nacos结合时,metrics消失 @靖浏,待跟进

    20241130:1.客户端兼容问题,限流时增加了error resul tcode,存在高低版本不兼容,目前result code去除,改为直接写入到msg中避免该问题,待后续明华侧转换和忽略的功能合并后再考虑增加errorcode,低版本客户端也要考虑忽略不认识的request 2.限流值可通过配置中心动态更新(包括raft扩缩容,是否也应该根据配置文件变化自动生效,而不是只能通过接口) 3.metrics增加限流的tag client ip和server ip。

  • jdk19+ 虚拟线程适配 @云清

    1. 去除非单例模式的synchronized关键字,改为ReentrantLock [Prevent virtual thread pinned · Issue #6724 · apache/incubator-seata (github.com)](https://github.com/apache/incubator-seata/issues/6724) 20241116: 分两波,1)synchronized修改进度90% 2)虚拟线程适配

      20241130:synchronized pinned虚拟线程问题已经解决,目前正在测试

    2. 梳理seata client+server 中所有线程池,将线程池统一使用一个threadpoolfactory构建,以便在不同的java版本上使用不同的线程池,比如高版本可以统一为虚拟线程池

      20241130:还未开始

  • Seata metric指标不全,timeout/fail等异常指标未透出,需要补齐 , pr已提交,待合并

    20241130:已合并

  • Seata AT可重试/不可重试,超时释放锁模型不统一(可能导致锁未释放),统一开关控制 ,pr已合并

    20241130:已合并

  • 控制台增加undolog查看的白屏界面(注意压缩场景),方便查看前后对比,手动解undolog?

    20241130:后续发布任务,控制台复制粘贴undolog rollback info后自动解开

  • 批量删除undolog @明华 (依赖多版本协议支持及协议协商) 客户端是否支持批量,低版本保持原样

    20241130:放2.4再合并

  • tm/rm 注册失败需要返回原因 @明华(依赖多版本协议支持及协议协商) 20241016: pr已提交,待review

    20241130: 2.3发完后再进行review,先处理ci问题,2.4开始client记录server版本,以便对server一些逻辑兼容

  • TM/RM未init,rm注册,不再忽略,直接异常;改动影响比较大,@亦夏 放在多client之后再做,暂不讨论

  • rocketmq半消息发送还未report时或发送后宕机,导致回滚npe https://github.com/apache/incubator-seata/issues/7034

    20241130:

    2.4 增加本地缓存的一些状态,让rocketmq的分支可以自行/提前回滚,可参考xa那块。

    考虑一些配置默认值的更改,一些无用开关清理,以及线程数等开放到配置中2.4 时进行讨论

  • namingserver docker容器

    20241130: 2.3上要增加该能力,参考server jib插件

后续规划

  • summercode 功能 -> 版本规划,2.4 后之后的round map规划

    20241130: 2.4要加强控制台能力,如事务控制和配置中心,控制台到namingserver,server开放open api供控制台调用

  • seata go功能建设

Clone this wiki locally