扫码阅读
手机扫码阅读

数据库|手把手教你成为 TiDB 的 Contributor

329 2023-09-14

文章摘要

本文作者蔡一凡,一位后端开发工程师,分享了他在解决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开源项目做出贡献表示激动,并感谢了给予代码优化建议的原厂大佬。

想要了解更多,点击 查看原文