挑战赛积分不好拿?快来认领新出炉的 issue 啦

挑战赛积分不好拿?快来认领新出炉的 issue 啦

TiDB 4.0 捉"虫"竞赛后,大家在 TiDB 4.0 版本中陆续发现了一些 bug,有且不限于:

  • 和 MySQL 的兼容性问题
  • 新功能之间的兼容性问题
  • 正确性问题

为了共建 TiDB 良好的稳定性,我们决定进行新一轮的 TiDB Challenge Program。这次的主题是 TiDB bug fixing,同学们可以参与修复目前 TiDB 已发现的种种 bug,既维护了 TiDB 的稳定性,又积累了硬核大型数据库的开发经验,同时还有高额挑战赛积分可以拿哦。

欢迎大家加入TiDB Community Slack Workspace,过程中遇到任何问题都可以直接通过 #sig-planner 或者 #sig-exec 的 channel 与我们模块核心研发进行即时沟通。

一些常见 bug

  1. Should check the range of the DECIMAL’s arguments

在执行类型转化函数时,需要检查 decimal 类型的参数是否越界。

  1. Different error code from MySQL when inserting incorrect time value

插入错误时间类型值的时候,和 MySQL 产生不同的错误码。

  1. Ambiguous warning when multiply result out of range

当查询结果越界时,出现了一些令人疑惑的 warning 信息。

我们会在名为 Bug fixing challenge 的 Pinned issue 中,尽量给出每个 bug 的 “How to fix” 的提示。

如何参与

准备

参与

参赛全流程包括:查看任务->领取任务->实现任务->提交任务->评估任务->获得积分->积分兑换,其中“兑换积分”之前的步骤都将在 GitHub 上实现。

第一步:查看 Issue

开放的 Issue 列表可以直接在 tidb/issues 中看到,这个页面打开后会出现一个 Pinned issue “Bug fixing challenge”。

Pinned issue 里面记录的 challenge issue 都是可以参与完成的。

注:

目前我们只开放了 planner 和 execution 模块的 issue,其他的模块将在接下来陆续开放。

第二步:领取任务

如果你决定认领某一个 issue,可以先在这个 Issue 中回复 “/pick-up”,bot 会帮你打上 “picked” 的标签,并告诉你的是否领取成功。

第三步:实现代码

在实现代码的过程中如果遇到问题,可以通过 #sig-planner 或者 #sig-exec channel 与我们进行探讨,Issue 指定的 Mentor 会尽可能在 24h 内予以回复。不过,在提出问题之前一定要确保你已经仔细阅读过题目内容,并且已经完成了参考资料的学习哦~

第四步:提交代码

如果你觉得你的方案已经达到了题目的要求,可在相关 Repo(例如 tidb)的 master 分支上实现你的方案,并将代码以 GitHub Pull Request(简称 PR)的形式提交到相应的 GitHub Repo 上。 PR 要求关联已经被你 pick 的 issue, 关联方式需要 PR 描述中带以下内容之一:

  • Issue Number: close #xxx
  • Issue Number: #xxx

当 PR 提交后,可在 PR 的评论中 使用 “/cc @<mentor的github ID>” at Mentor 进行代码评审,Mentor 会尽可能在方案提交后的 48h 内完成评估,如果你想尽快推进你的 PR,可以在 slack 里私聊你的 Mentor。

PR 评分

同时,PR 一旦提交,系统会自动联系 issue 对应 mentor 给予 PR 预判评分,该预判评分将在本 PR 合并后进入你的账户。

第五步:代码评估及积分授予

评估规则:

  • PR Reviewer 会对 PR 进行代码格式、代码功能和性能的 Review,获得 2 个以上 Reviewer 认可(即在 PR 中评论“LGTM”)的 PR

  • SIG 的 committer 以上身份会将该 PR merge 到对应 repo 的主干。
  • 代码合并后,PR 预判积分将进入你的账户。

另外,有些 bug-fix 的 PR 会被认定为需要 cherry-pick 到指定版本,Bot 和 Reviewer 会帮助进行这个步骤,在你的 PR merge 到 Master 分支后,Bot 会创建 cherry-pick 的 PR,我们也建议你关注并帮助解决这些 PR 的冲突。

第六步:积分

  • 在特定 SIG 完成积分达到一定阈值后,可获得该 SIG 的 active-contributor,reviewer,committer 荣誉身份,这个将作为您在 TiDB 社区的身份标签,终身跟随。
  • 从本赛季开始,所有挑战赛的积分都将会被累计起来,统一呈现到 TiDB community 社区贡献榜榜单中。
  • 积分商城正在规划中,等商城准备完毕后,大家可以自由按需兑换,还请耐心等待。

学习资料

这里有 TiDB 精选技术讲解文章,帮助大家轻松掌握 TiDB 各核心组件的原理及功能。推荐学习 High Perfromance TiDB 课程,对 bug hunting 更有帮助。还有 数据库小课堂,帮助大家快速熟悉数据库知识,点击以上链接即可轻松获取。

1赞

支持一下,好活动 :laughing: 一起冲鸭!

1赞