此次小范围周会主要聊了 Issue&PR 清理计划

Issue 处理标准

https://www.yuque.com/kenliu-zhmwk/spistc/ith0vi

发版计划

2.7: 基本保持每月一个版本的节奏,Bugfix、安全漏洞按需发布,下一个版本是3月初的 2.7.10
3.0:下一个版本是 3.20 的 3.0-preview

处理 Issue 遇到问题

处理方式

  • Issue 信息少,难以复现,放置很久导致交互困难。 不要花太多时间,没有交互直接关掉
  • 非 Committer 处理过的issue可以记下结论,集中发到群里由committer清理

具体问题

  • payload 过大:尽早通知消费方结果,没有必要再通知提供方停止发送,pr待review
  • 优雅停机:Spring Hook、Dubbo Hook有并发问题;Spring Hook和用户Dubbo API,主动一些detroy方法;
  • gRPC 有 NPE的具体问题
  • 多个ReferenceConfig有相同的interface+group+version,但是有不同的配置如timeout
  • 标签路由不能自动链路传递(如链路传递需要加一个 TracingFilter 的东西,但不是官方默认支持)

A - B(impl - proxy) - C

A-B
-C

A-B (impl)-C
-D

  • 用户每次调用都自己设置
  • Filter在选址之后,ClusterInterceptor在选址之前;文档有问题要改下不能推荐用Filter

3.0 版本的问题

  • 3.0的集成测试,有十多个是实现问题导致的(条件路由),还有十多个是由于模块删除相关的(这部分不跑3.0版本)
  • 3.0 中 ClusterInvoker,Filter语义变化了(相当于ClusterInterceptor,ClusterInterceptor要被废弃),部分Filter(可选的)和地址强绑定的要定义一个新的SPI来改造(泛化实现的、限流的、监控的);
  • Filter ClusterInterceptor这里还有个潜在性能问题,AsyncRpcResult 链路的组装(CompletableFutrue.thenReturn)