做者: 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 哦~