社区新闻 | 2024 年度首位 Committer 在 nebula-go repo 诞生

经过为期三个工作日的 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
    • PR#291:郝鑫成为 Contributor 的合并 PR,升级了 nebula-importer 依赖的 ants 版本;
    • PR#290:允许使用 nebula-importer 从 GCS 导入数据时选择是否进行身份验证,提供了更灵活的选项;
  • nebula-python
    • PR#296:修复文档中失效的链接;
    • PR#302:支持 nebula-python 对 Tag 进行属性操作时,可以选择性地指定 Tag 名;
    • PR#297:可获取 Scan Result 中的属性名称;
    • PR#317:对 properties 方法进行了修复,以正确处理tag参数的情况;

再次感谢郝鑫为 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 的产品逐步完善,实现细节更加严谨。

3 个赞