TiDB Weekly|This Week on TiDB 20210801

作者:@tison

欢迎来到新一期的 This Week on TiDB 栏目!TiDB 是一个开源的 MySQL 协议兼容的分布式数据库,支持 HTAP 即混合事务和分析处理。这个栏目是 TiDB 开发进展和社区新闻的非官方周刊窗口,如果你想将自己看到或者正在做的工作也通过这个窗口发布,欢迎私信联系我或者在 weekly 仓库中提出。如果你有意了解或加入 TiDB 社区,TiDB 社区也非常欢迎贡献者。

https://pingcap.github.io/tidb-dev-guide/contribute-to-tidb/introduction.html

上周末我发布了一篇关于 TiDB 开发者社区为什么要建立论坛的文章,本周的 Weekly 也围绕论坛上的主题来展开。

[Forum]

来自小米的两位贡献者 @sylzd@yuqi1129 在论坛上发布了自我介绍主题,他们都是 TiDB 项目活跃的贡献者。

TiDB 开发者社区欢迎贡献者在论坛上做自我介绍或寻求帮助,更明确地自我定位和展示有助于功能开发小组和合适的贡献者合作,也有助于相同领域的贡献者相互识别和深入交流。不过如果真的有大量自我介绍的文章,可能真得像迟先生在第二个主题里建议的一样开一个专门的目录了。

论坛上也欢迎关于 TiDB 生态项目的技术设计和代码实现相关的主题。

我在主导迁移测试框架的工作的时候,偶然发现了 executor 模块测试被忽略的一系列 goroutine 泄露问题,超过 35 个不同类型的 goroutine 泄露就算被忽略也总不太对劲。在 @tiancaiamao 的帮助下大致厘清了其中部分是由于 domain 或 store 资源未释放导致的问题,希望在后续迁移 executor 测试的时候顺带解决这部分问题。

@wang 刚开始阅读 PD 源码的时候对不同组件的定位以及各自的 Client 承担什么职责搞不太清楚,我和 @disksing 对具体问题做了回答。

论坛还能作为提案的前哨站,也就是类似 Rust 社区 Pre-RFC 的作用。正式发出提案在形式上与一个普通的 PR 无异,很容易被海量的具体工作项的 PR 给掩埋了。同时,提案刚有主意的时候未必很清楚,按照正式的流程完善细节可能有不必要的形式开销。在论坛上针对性的发起讨论,能够在早期吸引到有相同兴趣的开发关注,讨论,以至于最终一起落地。

TiKV Development Guide 是一个类似 TiDB Development Guide 的项目。不同点在于开发语言不同和软件领域差异带来的环境设置,代码贡献最佳实践,以及原理解析方面的差异。这个提案由我提出,目前 @andylokandy 有意愿参与。希望在近一个月我们能完成一个里程碑有初步可读的内容输出。

BR 合并到 TiDB 是一个动静比较大的架构调整,解决了长期以来的循环依赖问题中的一个。目前发起人 @3pointer 正在积极的做集成测试,希望能够赶上 v5.2 之前完成,避免 BR 再维护多一个有循环依赖的 release 版本。

Restructure Test 的工作距离发起已经一个月了,从正式开发到现在也有数周。这是一个典型的代码开发任务的提案,如果你想在 TiDB 上实现自己的功能或者做重构以扩展功能,可以参考这个提案。值得一提的是,在上一周项目的活跃参与者 @feitian124 也回复了这个主题表达了对开发方式的意见。这正是《避免私下讨论》一文中提到的,

公开讨论也会从其副作用中获益,无论是多么短暂的技术问题,一经发起都会一直讨论下去。

此外,@xxchan 从参与这个项目入手,提出了对 util/chunk 模块重构的思路,这也是我最早发起这个项目的初衷之一。测试迁移是一个好的窗口,如何发挥它的价值取决于你的想象力。

应当避免国内开发者参与开源社区常见的,还没在社区亮相,就急于提出颠覆性的改动的偏好。软件工程都是取舍,你看着很不合理的设计和实现,有其背后的原因。即使是可以改,甚至很急切的要改,也得先了解清楚代码背后的逻辑。测试是代码的第一个用户,测试的目的性强,从测试入手是一个很好的贡献开源项目的方式。

当然,如果你真的想要做大功能,这里也有可以参与的方式。TiDB 的资深开发者 @morgo 发起了 Placement Rules 的 SQL 接口功能开发的征集信,期待有感兴趣的同学加入到开发队伍当中来。复制一下我在 Twitter 上对这个项目的介绍,

Placement Rules is an advanced topic about tuning tidb by manipulating TiKV regions. This effort enables users to change placement rules with SQL interface.

最后想提的是 TiDB Operator 的版本发布信息,TiDB Operator v1.2.0 已经发布啦!

本次更新内容可以点击卡片了解。希望在不久的将来从开发者论坛能够知道 TiDB 生态项目版本发布的关系,而不用轮询文档网站偶然发现某个项目发布了新版本。

3 个赞

前排围观~~

1 个赞

围观。。。。。。

1 个赞