Skip to content

20241102

wt_better edited this page Nov 2, 2024 · 3 revisions

参会人:清铭、陈建斌、亦夏、树杰、云清、详坤、张嘉伟、江坷等

会议时间:2024/11/02

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

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

一、安全合规

  • seata 项目安全漏洞 @清铭

    20241017:

    • 2.1版本,CVE,客户端到server漏洞,完成
    • Raft漏洞,2.3,已合并
    • 压缩长度问题,影响可控,需要优化,预计2.3修复
    • 客户端-服务端,固定密钥问题,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,需要几个月后才能完成,涉及合规相关问题,尽量小改。

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

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

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

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

    • rocketmq集成 @嘉伟 - 进行中

    • api重构 设计文档发布到官网,然后再编写一篇博客 @瑞姗

    • namingserver @俊敏

      20241102:已发布到website,TODO发布到公众阿訇

    • seata-k8s @祥琨 - 暂无进展

    • seata默认序列化优化 @亦夏 - csdn,TODO 已发布到website

    • 多版本协议 @明华

      20240921:已合并

    • Seata最佳实践博客 @健斌

      20240921:预计下周提交pr

四、发版信息

发版规则

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

2.3版本pr进度

  • TM,RM -> TC registryRequest鉴权 @俊敏 @依霖

    ​ 20241019:,考虑从2.2上移除该特性暂无进展

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

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

    • 需要在增加多语言继承的示例
    • 考虑增加模版化,基于grpc包装一个客户端,方便多语言集成;
  • 可选项:事务控制ctl ? raft 全局锁清除适配 根据进度确定是否2.3

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

五、质量建设

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

    迭代中,单侧覆盖度的统计问题;单侧报告里面包含了依赖相关代码,导致覆盖率下降;TODO:需要增加规则

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

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

    进度:20241102:完成完成e2e全部case

  • 兼容性测试@王良

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

    整体依赖集成测试的进度

    20240817:先完成mysql-driver的兼容性测试

  • BenchMark @亦夏

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

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

六、其他讨论事项

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

  • Fastjson2 序列化集成 @树杰 20241102:pr已合并,需要关注下是否有对应的安全/CVE漏洞

  • seata-spring-boot-starter 支持读取file.conf和registry.conf 20241102:pr问题待解决

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

  • seata/seata-go日志优化,根据定制的规范对其他的 exception 的格式做改造,待分配任务;待认领;

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

    • saga功能,feature/saga,60-70%
  • TM/RM 快速失败只有在节点全部不可用才失败 @正涛 20240907:待提交pr,增加社区issue 20240921:下周开始相关设计

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

  • raft集群nat场景支持

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

    20241019 :拆分成任务,支持元数据暴露至注册中心,可参考dubbo相关设计 20241102: 任务描述,增加issue

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

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

    20241102: 待后续跟进

  • 单点服务限流 @靖浏

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

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

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

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

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

  • Seata metric指标不全,timeout/fail等异常指标未透出,需要补齐

  • Seata AT可重试/不可重试,超时释放锁模型不统一(可能导致锁未释放),统一开关控制 @qingming 跟进

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

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

  • tm/rm 注册失败需要返回原因 @明华(依赖多版本协议支持及协议协商) 20240817:序列化少了一个字段,server抛异常时序列化时没有写回去。高版本上需要解决该问题

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

后续规划

Clone this wiki locally