经过为期三个工作日的 Committer 投票,在本周 NebulaGraph 社区迎来了 2024 年首位 Committer——郝鑫。
而社区也邀请了郝鑫作为专访嘉宾,在下期 Nebula Community Story 中同大家分享他的故事。
郝鑫的 PR 之旅
他的第一个被合并 PR 诞生在 nebula-importer repo,PR #291主要完成了 ants 的升级工作,将 nebula-iomprter 使用的 ants 库版本升级到 v2。
而郝鑫成为 Committer,主要贡献的仓库是 nebula-go。这是他在 nebula-go 的主要工作:
- PR#292:增加了对更多 Go 版本的测试支持;
- PR#297:将 SSL 示例代码拆封到一个单独的目录中;
- PR#298:为 ResultSet 添加一个名为“Scan”的方法,用于将行数据扫描到给定的切片中;
- PR#303:添加了一个 Scan 的示例;
- PR#304:添加更多的 ResultSet Scan 测试;
- PR#305:修复了 ResultSet 的 Scan 方法中的字段索引冲突问题;
- PR#308:修复 nebula-go 中的“go vet”警告,该警告是 struct 传参没有指定字段造成的;
- PR#309:为 ResultSet Scan 功能添加对更多数据类型的支持;
- PR#307:为 nebula-go 增加了一个使用示例;
- PR#312、PR#315:分别为 SessionPool、Session 添加了一些模式(schema)辅助方法,包括创建、删除点类型和边类型;
- PR#313:对 SessionPool 的 ShowSpaces 功能进行了支持;
- PR#316、PR#322:分别完成了在 Go1.18 和 Go1.22 上的测试验证;
- PR#317:添加了 ApplyTag 方法,可用于将对应 Tag 应用到图中。如果该 Tag 不存在则创建 Tag;如果 Tag 已经存在,则检查字段是否相同,字段不同会添加新字段,字段类型不同则会报错;
- PR#318:修复了一个告警问题;
- PR#323:为 SessionPool 增加 Tag、EdgeType 的 TTL 功能;
- PR#319:同 ApplyTag 类似,增加 ApplyEdge 功能;
- PR#320:加强 nebula-go 模式管理器(Schema Manager)功能,增加了对详细输出模式的支持,并对 ApplyTag 的操作进行了优化;
上面是已经被合并的 PR,还有些尚未合入 nebula-go 的 PR:
- PR#324:修复了一个静态检查警告,解决了在循环中未调用 regexp.Match 函数的问题;
- PR#326:新增 CreateSpace 功能,并添加了相应的测试函数来验证这一功能的正确性;
- PR#327:为 ResultSet 对象添加了一个名为 GetLatencyInMs 的函数,用于获取延迟时间的毫秒表示。这个功能的添加有助于更方便地获取和处理延迟时间信息;
通过上面的这些 PR,nebula-go 逐渐提供了更加丰富的功能特性。除此之外,郝鑫还为 nebula-importer 和 nebula-python 带来了一些变化:
- nebula-importer
- nebula-python
再次感谢郝鑫为 NebulaGraph 社区做出的贡献。
如何成为 Nebula Committer
目前成为 Nebula Committer 需要经过以下流程:
- 提名:由现有 Nebula Committer 们(含 repo Maintainer)提名;
- 发起投票:由提名者发起投票流程,流程为期 3 个工作日;
- 投票过程:现有 Committer 可对提名人成为 Committer 投出赞成票,或者反对票;若投出的票为反对票,需要说明反对理由;
- 结果统计
- 成为 Committer:获得提名所在 repo 的 Maintainer 任意赞成票,并获得额外一名 Committer 赞成票即可;
- 未能成为 Committer:反对票和赞成票持平,且未能得到 repo 所有 Maintainer 的赞成票;
Nebula Committer 的权益
- 实体礼
- Nebula Committer 奖杯;
- Nebula Committer 专属双肩包;
- Nebula 社区未来一年所有的周边新品;
- 其他权益
- 可提名、反对其他人成为 Committer;
- 对所在 repo 的 PR 进行 review、approve 操作;
以上,感谢所有 NebulaGraph 社区的贡献者。是你们的付出,让 NebulaGraph 的产品逐步完善,实现细节更加严谨。