Skip to content

20240203

WangLiang/王良 edited this page Feb 5, 2024 · 55 revisions

English


会议主持人:@王良(wangliang181230

参会人(仅统计PPMC,其他参会人见附录):@清铭、@陈健斌、@王良、@亦夏、@刘月财

下次双周会:

  • 时间:2024/2/17为春节放假,暂停一次。暂定为 2024/3/2。(如有时间变更,再另行通知,请订阅邮件列表:dev@seata.apache.orgnotifications@seata.apache.org
  • 主持人:@吴江坷(xingfudeshi

已完成事项(Done)

  1. 库迁移范围讨论 @清铭 done

    • seata-java,seata-go,k8s,ctl @董峻铎,官网,simple(java,go)
  2. ASF ICLA contributor签署:@清铭

    • 公开邮件模板 done
    • 迁库后通过邮件的方式联系对应开发者 done
  3. review邮件模板: @清铭

  4. 孵化进展同步 @清铭

    • 法务问题已解决 done
    • 已汇报apache秘书 done
  5. 补充文档:发展历史done、使用指南 @尹祥琨、配置文档拆分 @陈健斌、升级文档拆分 @陈健斌、部署文档拆分 @陈健斌。 @清铭 @尹祥琨 @陈健斌

    • 使用指南拆分完成(完成, go待完成)
    • 升级文档拆分完成(完成)
    • 配置文档(完成)(健斌),部署文档✅
  6. 收集大于贡献100行的contributor信息追溯 @汪忠祥 done

    • 已经发到钉钉群,有16个这种 @users.noreply.github.com 邮箱;和17个找不到邮箱的;
  7. 合规与安全。@刘秋枫 @清铭 done

    • 默认语言已改为英文;done
    • 官网已增加license check,依赖检查,licence,url更新;done
    • 商业化链接已移除;done
    • 维护者列表已移除;done
    • 官网安全漏洞修复完毕;done
    • 用户登记移除;done
    • 注意事项:与apache其他仓库含代码大幅度相同的情况不被允许
  8. 百度搜索流量下跌问题(按照 seata.apache.org,不是 seata.io)。@刘秋枫

    • ci自动生成 sitemap.xmlsite.txt 已完成
    • 内容预渲染改造已完成
    • api自动上报百度功能已完成,但百度给的额度很少
  9. 放弃语雀;历史文档迁移至wiki @刘月财 @亦夏 @开源之夏导师

    • 散乱文档不迁移done
    • 设计,课外资料等文档需要迁移(java,go 合并seata主仓库wiki存放)done
    • 新建目录存放 (完成)
    • 将summercode相关的文档迁移至对应目录下(今年的方案设计到结项优先); @陈健斌 @王良 @刘月财 done
    • 设计文档/开源之夏,都迁移完了;周会的不用迁移,wiki给老的地址即可;
  10. 单测覆盖度目标 @张嘉伟 @汪忠祥

    • seata-core @汪忠祥 done
    • seata-common @张嘉伟 done
  11. 积压PR处置 @陈健斌 @刘月财

    • java: 2022年5月之前的无人跟进的已经关闭,并且已经留言,除去部分重要的 (已完成)
  12. 1.8.0 + 2.0.0 文档、releaseNotes、samples更新。 @亦夏

    • 1.8.0 + 2.0.0 releaseNotes done
    • 邮件发出标准,同一个事务模式,一个业务场景; @亦夏 done
  13. 分支维护。维护计划公开文档。@蒋俊敏 done

    • 按照版本来维护,只维护最近3个版本(含最新版本)merge,done
  14. 新老仓库兼容性方案。梳理API,@尹祥琨 (已梳理完成,待单独拉会沟通)

    • 用户 api 梳理,saga完成 (12.9),done (12.23) @尹祥琨 done
  15. 兼容性测试(jdk、arch、spring core+boot、druid)@王良

    • os, jdk, spring boot, 兼容性测试pr,已完成
    • 分开workflow,提高并行度 ;先不用做了。
  16. tcc 使用方式确认,是否需要兼容特殊使用方式 @亦夏 @李宗杰 (后续提相关pr跟进)

    • 统一规范:java tcc注解 标准统一,统一打到实现类上,rm这个完成后,需要在文档透出,另外废弃LocalTcc注解,同样使用TwoPhase注解;done ss
  17. 百度搜索流量下跌问题(按照apache,不是seata io)。@刘秋枫

    • 排名有上升,官网靠前了 done(老域名,已完成)
  18. 包迁移:io.seata -> org.apache.seata

    • 当前的pr尽快merge后,统一处理;@清铭 done 2/3

宣讲事项

  • 1.ppmc对apache政策,合规的了解,需要提高
  • 2.尽量使用邮件,英文沟通
  • 3.比赛报名,明天1.21截止(性能大赛 功能设计)大家踊跃参与
  • 4.任务列表等,可以发到邮件组:
    • 漏洞

进行中事项(Doing)

  1. 合规与安全。@刘秋枫 @清铭 doing

    • logo改造; @刘秋枫 done
    • 英文博客;从0到1;翻译现有的即可;todo;@汪忠祥 已完成16篇,所有文章的标题占位符已添加,还剩30-40篇 @任原新,这两周完成了10多篇;(预计1~1.5个月完成)
    • seata 41个前端安全漏洞 @清铭,待review merge,(2/3:剩余18个漏洞未处理)
    • seata go 剩余5个漏洞 @亦夏 @刘月财 目标下周(全部修复完成)done
    • seata sample 剩余125个 @亦夏 待启动,有前置依赖(PR已提交,建个新分支,先合进去,跑起来看看有没有问题)@清铭 待确认
      • simple按新的格式在走的,代码规范需要兼容改造;@亦夏
    • https://github.com/apache/incubator-seata/discussions/6233 合规相关问题
      • 外链:@刘秋枫 @清铭
      • Apache Logo:Seata的Logo加上Apache元素。
    • 基础工作基本完成:
      • 下周第一期导师一侧验收,已发过邮件,导师看过,只剩上面讨论下的两个问题。
      • 问题:官网文档域名未切换,首月slogan的seata介绍,起源部分改进;@清铭 @刘秋枫 done
    • 部分页面301跳转出现 404 Not Found:@刘秋枫 @清铭
    • 集群中,添加一个节点时,需要校验该节点是否合法:@陈健斌(2/3 new)
  2. 百度搜索流量下跌问题(按照apache,不是seata io)。@刘秋枫

    • 官网关键词优化(长期):前两周暂未处理,后面与提升页面体验分一起弄
    • 提升页面体验分;todo(放二期;一期先关注合规;
    • 跳转格式有问题,新域名下的链接手动提交修改,快速迁站流程。url mapping
    • 百度搜索出来的官网的描述,内容优化,当前效果如下三个截图:(优先处理)
      • 图片
      • 图片
      • 图片
  3. 1.8.0 + 2.0.0 文档、releaseNotes、samples更新。 @亦夏

    • java sample(未发布新版暂不需要升级), seata版本升级到2.0,公共逻辑优化, 进度完成7个,40%。(PR已提交,但还需优化)
  4. 新老仓库兼容性方案。梳理API,@尹祥琨 (已梳理完成,待单独拉会沟通)

    • 状态机设计器框架 选型和基础框架 (12.9) 初版完成 (12.23) (PR已完成,待review;单独分支开发完毕后,再另外提交到2.x分支) @尹祥琨
  5. 日志优化:(总体进度:20%不到)(@清铭 PR已提交,能满足国际化的要求,打出的堆栈都有对应的errorCode,错误信息里会显示一个链接链到FAQ页面中。)

    • 日志格式化输入:info、error (格式已经确定,各处的 log.error 等替换为新的 todo);
    • error code 已提pr,待review @清铭 (内部异常都是seata异常,统一包装,后续大家注意遵守规范)
    • 独立日志打印(现在框架和业务日志混在一起) todo
  6. 单测覆盖度目标 70% @汪忠祥 牵头 @张嘉伟(2/3:前两周暂无进展)

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

    • summer code e2e集成测试框架,docker compose,待确认(方案阶段)
    • 事后运行集成测试
    • redis需要测试版本兼容性
  8. 兼容性测试(jdk、arch、spring core+boot、druid)@王良

    • 测试MySQL Driver版本;workflow不同版本兼容性测试;与集测一起看(待集测框架完成)
  9. 性能benchmark @亦夏(整体框架已经搭建)(2/3:暂无进展)

    • 只测框架消耗,sql逻辑
    • 开源压测工具协助,建立基准性
    • 包含图形化 (这个含义待确定)
    • 确定增加新的模块实现;
    • 性能基准问题;
    • poc给大家演示下;@亦夏todo
  10. mock测试 @谢明华 (4个pr已经提交,待review merge)

    • 已初步review,下周单独为mock-server提一个pr,另有部分内容会提到seata-samples
    • 添加测试用例;@谢明华(PR已合并,但单测经常失败,还需要再重新review是否可以投入使用)(@清铭 trace)
  11. 积压PR处置 @陈健斌 @刘月财

  12. 包迁移:io.seata -> org.apache.seata

    • 当前的pr尽快merge后,统一处理;@清铭 done
  13. tcc 使用方式确认,是否需要兼容特殊使用方式 @亦夏 @李宗杰 (后续提相关pr跟进)

    • 对于tcc注解使用方式的提醒,二阶段注解如果打在接口上,默认行为:已支持的rpc框架,提示waring;不支持的rpc框架,直接异常,上面的行为可以根据同一个开关控制,判断是打waring日志提示还是异常提示。 todo(PR待提交)
  14. seata go方向

    • 合规性治理:@亦夏 @清铭 @刘月财
      • 仓库、一些依赖包的治理、CVE安全漏洞:done
      • modelName待调整
    • seata go saga框架的搭建和实现 @亦夏 @尹祥琨 @靖浏(总体进度:60~70%)
      • 制定完成初步任务 [https://github.com/apache/incubator-seata/wiki/20231213]
      • 已初步合并了一些PR,年后会有一个demo。
    • 对齐seata java的feature和bugfix,目前对齐的是1.5.1版本,需要升级下(按照2.x的去改动,不保持双分支策略) @刘月财 先搞打过标的
      • 罗列了一下清单:清单已明确,已提交了2个issue,其他待提交issue(其中1个问题已在跟进 @ruling)
  15. 鉴权:@蒋俊敏

    • TM的request和RM的request的鉴权(PR已提交,待review)
  16. 集成RocketMQ任务认领:(明华)

  17. used by 保留方案讨论 @陈健斌

  18. API兼容:

    • 优先兼容大场景:已完成,@尹祥琨 done
    • Server兼容:
      • json序列化中存在老的io.seata的类名,已完成 @陈健斌 done
      • raft模式中的数据,彼此兼容,只能升级server2.1及以上(注:Raft目前用户较少,暂时不用考虑数据兼容) @陈健斌
    • RM/TM API:发群里,分任务。 (@清铭 trace)
      • 拦截器不生效问题:保留老的拦截器的名字及包名。 @清铭
      • TCC: @亦夏
      • SAGA:@尹祥琨
      • RPC:@清铭
      • 通用:@吴江坷

需要讨论事项

  1. resource id + application name唯一标识确认 @陈健斌 优先级较低,暂时没时间(有时间再发起讨论)

    • resource id可能重复,导致下发问题,保证唯一,最终方案暂定,重新拉会议讨论
      • 达梦数据库:schema只能填一个(已向达梦技术人员确认)
    • 下次开会沟通,准备文档;要求可动态扩展;
  2. seata go方向:

    • 生态拓展:B站等等服务框架 @清铭 字节 @hong fan 下周再看做不做 1月底(跟字节的Cloud-We-GO聊了一下,文章两边挂,他们帮review。)
  3. 控制台token自动刷新 @刘秋枫 方案完成done (待投票,截止时间周一20231225) 俊敏 下周pr

  4. TYPE_SEATA_MERGE 的消息需要独立线程池处理 健斌 todo

  5. RM/proxy init启动先后顺序问题; @海涛 1月底开始投入

    • TM/RM未init,rm注册,不再忽略,直接异常;TODO,确认 io.seata.core.rpc.netty.RmNettyRemotingClient#registerResource getClientChannelManager().getChannels().isEmpty() 情况下,是否会执行RM注册 @清铭
    • 方案已确定,PR已在开发,进度:70% @海涛
  6. jackson是强依赖 scope-provided 修改成compile依赖 @亦夏 @海涛

    • 优先级较低:@海涛
  7. 2.1版本核心同步:(打 * 为重要,必须上)

    • 多版本协议pr拆分,不在2.1计划;
    • 控制台配置(和各个配置中心联动推拉),@王良 2.1版本不上 ,单独拉会议讨论;(任务发出去,原来PR能复用就复用,不复用就重启PR)
    • saga增强;控制台saga设计器改版; 前端资源带动,任务跟上;
      • 功能增强:done
      • 放入console:done(通过maven插件触发nodejs脚本实现)
      • 并行任务(PR未合并)
      • Saga Trace Spring:PR已提交,由于包名调整,需再调整,后面再review。
      • 鉴权优先,俊敏,2.1版本要上,有问题及时说
    • token续期:2.1版本赶不上的话,就不上了
    • sql parser:remove
    • 错误码,先第一版merge进去;
      • 老的io.seata的api 兼容;
      • RocketMQ集成
  8. 多线程分支注册回滚顺序错漏

    • 多线程并发使用seata的问题 · Issue #6311
      • 导致了有数据依赖的分支,回滚顺序错误的问题。 @陈健斌(方案待讨论:性能与一致性问题,需再拉会议讨论)
    • 多线程创建多个分支,且事务决议回滚时,还有分支在注册,导致回滚时读取的branch少一个分支,回滚顺序错乱,回滚事务。
    • 解决方案可合并回滚,比如同一个资源,在一个下发中一次性回滚,这样就可以避免多次下发,且回滚顺序可能不对的问题,下发到本地时完全就可以select for update查询xid对应的undolog,按照本地的时间戳进行回滚。
    • 缺点undolog的datetime精度要准确到纳秒级别
  9. Server高低版本兼容问题讨论:

    • Raft模式:
      • 端口同步问题(方案:元数据同步,来解决此问题)
    • 协议解决方案:
      • sofa bolt: @亦夏 问题同步过去一下
      • grpc:
      • python:
  10. 市面上与Seata相关的文章混乱问题: @清铭


Issue 认领

Issue Description Github ID Status
configuration log output · Issue #6191 · apache/incubator-seata (github.com) 按照配置所属的模块做日志输出 王良 pr review
xa 不支持 org.mariadb.jdbc:mariadb-java-client:3.x.x 版本 · Issue #5454 · apache/incubator-seata (github.com) 支持3.x的mariadb driver wt-better、@清铭 todo
复合主建自增表结构,插入多行数据且未携带主键值时执行异常 · 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:1、2,undo: 3、4

PR Review

PR Description Reviewer Status
feature: saga remove spring by wt-better · Pull Request #6017 · apache/incubator-seata (github.com) 清铭,健斌,宗杰,王良 处理包名再review
feature: Saga annotation by leezongjie · Pull Request #5300 · apache/incubator-seata (github.com) 健斌,亦夏,王良,清铭 依赖5399;拉会沟通 @亦夏(处理包名再review)

其他事项

  1. E2E集成测试框架效果演示(2024/2/3)
    • 容器编排
    • yamL文件定义测试流程,排除code的侵入,形成workflow
    • workflow能否满足,dubbo这边的测试框架

本次参会人(仅统计PPMC)

@清铭、@陈健斌、@王良、@亦夏、@刘月财

附录:其他参会人

@刘秋枫、@汪忠祥、@尹祥琨、@蒋俊敏、@熊靖浏、@汤如林、@郝洪范、@胡树利

Clone this wiki locally