数据库|手把手教你成为 TiDB 的 Contributor
我们非常重视原创文章,为尊重知识产权并避免潜在的版权问题,我们在此提供文章的摘要供您初步了解。如果您想要查阅更为详尽的内容,访问作者的公众号页面获取完整文章。
文章摘要
本文作者蔡一凡,一位后端开发工程师,分享了他在解决TiDB 6.5.0版本中的一个bug并成为Contributor的经历,旨在帮助有意向为开源项目贡献力量的同学。
01背景
在AskTUG社区,作者注意到TiDB 6.5.0版本显示未启动必要组件NgMonitoring的问题。这个问题源于配置文件ngmonitoring.toml中的endpoints配置错误,导致了空格而非逗号分隔,进而引发报错。暂时的解决办法是手动更正配置文件,然后重启prometheus。
02修复BUG
作者在GitHub的TiUP仓库中定位到了问题代码,并通过分析,发现是NgMonitoringConfig数据结构中的pds变量在存储过程中使用了空格分隔,与预期的逗号分隔不符。通过对比上个版本(1.11.1)的代码,作者意识到在优化和重构过程中,PDAddrs的数据类型和赋值逻辑发生了变化,导致了bug的产生。修复这个bug的方法是将pds中的元素使用逗号分隔,并赋值给PDServers变量。
03提交代码
作者详细记录了他如何fork TiUP项目到自己的仓库、在线使用vscode编写和提交代码、创建pull request、签署CLA贡献者许可协议,直到PR被合并到master的整个流程。
04总结
作为第一次参与开源项目的经历,作者花费了一些时间学习流程,并将此次经验分享给其他有意向为开源社区贡献的同学。他对能够为TiDB开源项目做出贡献表示激动,并感谢了给予代码优化建议的原厂大佬。
想要了解更多内容?