Apache Cassandra 贡献者入门指南

开始参与到为全球互联网服务提供支持的开源数据库项目。
51 位读者喜欢这篇文章。
An intersection of pipes.

Opensource.com

Apache Cassandra 是一个开源 NoSQL 数据库,以其可扩展性和高可用性(不影响性能)受到全球数千家公司的信赖。 贡献于这样一个广泛使用的分布式系统似乎令人生畏,因此本文旨在为您提供一个简单的切入点。

贡献于 Cassandra 有很好的理由,例如

  • 作为贡献者获得 Apache 软件基金会 (ASF) 的认可
  • 为全球数百万用户使用的开源项目做出贡献,该项目为美国运通、彭博、Netflix、Yelp 等公司提供互联网服务
  • 成为社区的一员,添加新功能并以 Cassandra 4.0 的发布为基础进行构建,这是该项目历史上最稳定的版本

如何开始

Apache Cassandra 是一个大型项目,这意味着您会找到适合您技能的贡献领域。 每一个贡献,无论多么小,都值得赞赏。 一个好的起点是入门指南

Apache Cassandra 项目也参与 Google Summer of Code。 要了解涉及的内容,请阅读 PMC 成员 Paolo Motta 的这篇博客文章

选择要处理的内容

提交的补丁可以包括错误修复、Java 代码库的更改、工具改进(Java 或 Python)、文档、测试或代码库的任何其他更改。 虽然贡献代码的过程始终相同,但接受补丁所需的工作量和时间取决于您要解决的问题类型。

审查他人的补丁总是值得赞赏的。 要了解更多信息,请阅读审查清单。 如果您是 Cassandra 用户,并且可以通过回复用户列表中的一些问题来提供帮助,那么这是一个极好的贡献。

找到要处理的工单的最简单方法是在 Cassandra 的 Jira 中搜索标记为唾手可得的问题。 我们使用此标签来标记适合初学者入门的任务。 如果您没有 ASF 的 Jira 登录名,则需要注册

开始参与的一些简单方法包括

  • 测试: 通过了解 Cassandra,您可以添加或改进测试,例如 CASSANDRA-16191。 您可以在我们的 测试页面上了解有关 Cassandra 测试框架的更多信息。 我们始终欢迎更多测试和 Jira 报告的错误或改进建议。
  • 文档: 这并不总是唾手可得的,但它非常重要。 这是一个示例工单:CASSANDRA-16122。 您可以在我们的 处理文档页面上找到有关贡献 Cassandra 文档的更多信息。
  • 调查或修复报告的错误: 这是一个例子:CASSANDRA-16151
  • 回答问题: 订阅用户邮件列表,留意您知道答案的问题,并通过回复帮助他人。 请参阅社区页面,了解有关如何订阅邮件列表的详细信息。

这只是开始帮助项目的四种方式。 如果您想了解有关分布式系统的更多信息并以其他方式做出贡献,请查看文档

贡献代码所需的内容

要进行代码贡献,您将需要

  • Java SDK
  • Apache Ant
  • Git
  • Python

获取代码并测试

使用 Git 获取代码,处理主题,使用您喜欢的 IDE,并遵循 Cassandra 编码风格。 您可以在我们的 构建和 IDE 集成页面上了解更多信息。

$ git clone https://git-wip-us.apache.org/repos/asf/cassandra.git cassandra-trunk

许多贡献者根据工单号和 Cassandra 版本命名他们的分支。 例如

$ git checkout -b CASSANDRA-XXXX-V.V
$ ant

测试环境

$ ant test

测试分布式数据库

完成后,请确保所有测试(包括您自己的测试)都使用 Ant 通过,如测试中所述。 如果您怀疑测试失败与您的更改无关,则检查测试的状态可能很有用,方法是搜索问题跟踪器或查看相关上游版本的CI结果。

完整的测试套件需要数小时才能完成,因此通常在上传补丁之前在本地运行相关测试。 上传补丁后,审查者或提交者可以帮助设置 CI 作业以运行完整的测试套件。

有关测试 Cassandra 的其他资源包括

提交您的补丁

在提交补丁之前,请验证您是否遵循 Cassandra 的代码风格约定。 提交补丁的最简单方法是在 GitHub 上 fork Cassandra 存储库并推送您的分支

$ git push --set-upstream origin CASSANDRA-XXXX-V.V 

通过在您的 Jira 工单中发布指向您新创建的分支的链接来提交您的补丁。 使用提交补丁按钮。

要了解更多信息,请阅读有关贡献于 Cassandra的完整文档。 如果您还有疑问,请与开发者社区联系。


作者要感谢 Apache Cassandra 社区为该项目做出的不懈贡献、对项目用户的奉献以及为改进新贡献者加入流程而做出的持续努力。

许多人为 Apache Cassandra 项目和社区所做的贡献和奉献使我们能够达到 4.0 — 一个重要的里程碑。 在我们展望未来并寻求鼓励新的贡献者时,我们想感谢自 12 多年前成立以来每个人的努力。 没有您的帮助,这一切都不可能实现。 谢谢!

接下来要阅读什么
User profile image.
Ekaterina Dimitrova 是 DataStax 的软件工程师和 Apache Cassandra 的提交者。 此前,她曾在匹兹堡大学高级数据管理技术实验室担任研究员。 她与 Panos K. Chrysanthis 教授和副院长 Adam J.

评论已关闭。

Creative Commons License本作品采用知识共享署名-相同方式共享 4.0 国际许可协议进行许可。
© . All rights reserved.