做者: Long Henggit
社区是一个开源项目的灵魂,随着 TiDB/TiKV 新的社区架构升级, TiKV 社区也计划逐步成立更多个 Special Interest Group(SIG )吸引更多社区力量,一块儿来改进和完善 TiKV 项目。SIG 将围绕着特定的模块进行开发和维护工做,并对该模块代码的质量负责。程序员
今天是 1024 程序员节,咱们正式成立 TiKV 项目的首个 SIG —— Coprocessor SIG,但愿对 TiKV 项目 感兴趣的小伙伴们都能加入进来,探索硬核的前沿技术,交流切磋,一块儿走上 Contributor 的进阶之路!github
为了提高数据库的总体性能,TiDB 会将部分计算下推到 TiKV 执行,即 TiKV 的 Coprocessor 模块。本次成立的 Coprocessor SIG 就聚焦在 TiKV 项目 Coprocessor 模块。本 SIG 的主要职责是对 Coprocessor 模块进行将来发展的讨论、规划、开发和维护。数据库
社区的 Reviewer 或更高级的贡献者(Committer,Maintainer)将提名 Active Contributor 加入 Coprocessor SIG。Active Contributor 是对于 TiKV Coprocessor 模块或者 TiKV 项目有浓厚兴趣的贡献者,在过去 1 年为 TiKV 项目贡献超过 8 个 PR。架构
加入 SIG 后,Coprocessor SIG Tech Lead 将指导成员完成目标任务。在此过程当中,成员能够从 Active Contributor 逐步晋升为 Reviewer、Committer 角色,解锁更多角色权利&义务。框架
完善测试函数
为了进一步提升 Coprocessor 的集成测试覆盖率,TiKV 社区开源了 copr-test 集成测试框架(github.com/tikv/copr-test),便于社区为 Coprocessor 添加更多集成测试;性能
从 TiDB port 的函数须要同时 port 单元测试,若是 TiDB 的单元测试没有覆盖全部的分支,须要补全单元测试;单元测试
Expression 的集成测试须要构造使用这个 Expression 的算子进行测试。学习
提高代码质量
Framework: 计算框架改进,包括表达式计算框架、算子执行框架等;
Executor: 改进现有算子、与 TiDB 协做研发新算子;
Function: 维护现有的 UDF / AggrFn 实现或从 TiDB port 新的 UDF / AggrFn 实现;
设计与演进 Proposal
Review 相关项目代码
为了协同效率,咱们要求 SIG 成员遵照一致的代码风格、提交规范、PR Description 等规定。具体请参考 文档。
任务分配方式
SIG Tech Lead 在 github.com/tikv/community 维护公开的成员列表与任务列表连接;
新加入的 SIG 成员可有 2 周时间了解各个任务详情并认领一个任务,或参与一个现有任务的开发或推进。若未能在该时间内认领任务则会被移除 SIG;
SIG 成员需维持每月参与开发任务,或参与关于现有功能或将来规划的设计与讨论。若连续一个季度不参与开发与讨论,视为不活跃状态,将会被移除 SIG。做为 acknowledgment,仍会处于成员列表的「Former Member」中。
按期同步进度,按期周会
每 2 周以文档形式同步一次当前各个项目的开发进度;
每 2 周召开一次全组进度会议,时间依据参会人员可用时间另行协商。目前没有项目正在开发的成员可选择性参加以便了解各个项目进度。若参与开发的成员不能参加,需提早请假且提早将本身的月度进度更新至文档;
每次会议由一名成员进行会议记录,在会议结束 24 小时内完成会议记录并公开。会议记录由小组成员轮流执行;
Slack:tikv-wg.slack.com(Channel #copr-sig-china)
经过更多线上、线下成员的活动进行交流合做。
考核 & 晋升制度
a. Coprocessor SIG Tech Lead 以月为单位对小组成员进行考核,决定成员是否可由 Active Contributor 晋升为 Reviewer:
b. Coprocessor SIG Tech Lead 和 TiKV Maintainer 以季度为单位对小组成员进行考核,决定成员是否可由 Reviewer 晋升为 Committer:
退出制度
a. SIG 成员在如下状况中会被移除 SIG,但保留相应的 Active Contributor / Reviewer / Committer 身份:
+ 做为新成员未在指定时间内认领任务;
+ 连续一个季度处于不活跃状态。
复制代码
b. Reviewer 知足如下条件之一会被取消 Reviewer 身份且收回权限(后续从新考核后可恢复):
+ 超过一个季度没有 review 任何 Coprocessor 相关的 PR;
+ 有 2 位以上 Committer 认为 Reviewer 能力不足或活跃度不足。
复制代码
Tech Lead 额外承担的职责
经过上文相信你们对于 Coprocessor SIG 的工做内容、范围、方式以及运营制度有了初步的了解。若是你是一个开源爱好者,想要参与到一个工业级的开源项目中来,或者想了解社区的运行机制,想了解你的代码是如何从一个想法最终发布到生产环境中运行,那么加入 Coprocessor SIG 就是一个绝佳的机会!
若是你仍对 SIG 有些疑问或者想要了解更多学习资料,欢迎加入 tikv-wg.slack.com 哦~