只有当人们贡献时,Apache HBase 才会变得更好!如果您希望为 Apache HBase 做出贡献,请在 JIRA 中查找标有'beginner'%20AND%20status%20in%20 标签的[问题(开放%2C%20%22In%20Progress%22%2C %20Reopened))。这些是 HBase 贡献者认为值得的问题,但不是当下的优先事项,也是延长 HBase 内部的好方法。请参阅](https://issues.apache.org/jira/issues/?jql=project%20%3D%20HBASE%20AND%20labels%20in%20(beginner)[对于新贡献者的斜坡问题,使用什么标签?](http://search-hadoop.com/m/DHED43re96) 来自 dev 邮件列表的背景信息。

在开始向 HBase 提交代码之前,请参考开发

由于 Apache HBase 是 Apache Software Foundation 项目,请参阅 asf 以获取有关 ASF 如何运行的更多信息。

164.1。邮件列表

注册 dev-list 和用户列表。请参阅邮件列表页面。鼓励提出问题 - 并帮助回答其他人的问题!两个列表都有不同程度的经验,因此鼓励耐心和礼貌(请留待主题。)

164.2。松弛

Apache HBase 项目有自己的链接: Slack Channel ,用于实时问题和讨论。邮寄 dev@hbase.apache.org 请求邀请。

164.3。互联网中继聊天(IRC)

(注意:我们的 IRC 频道似乎已被弃用,以支持上述 Slack 频道)

对于实时问题和讨论,请使用 FreeNode IRC 网络上的#hbase IRC 频道。 FreeNode 提供基于 Web 的客户端,但大多数人更喜欢本机客户端,并且每个操作系统都有几个客户端。

164.4。吉拉

检查 Jira 中的现有问题。如果是新功能请求,增强功能或错误,请提交故障单。

我们在 JIRA 中跟踪多种类型的工作:

  • 错误:HBase 本身就有问题。

  • 测试:需要进行测试,或者测试被破坏。

  • 新功能:您对新功能有所了解。通常最好首先将它们放在邮件列表上,然后编写一个设计规范,添加到功能请求 JIRA 中。

  • 改进:存在一个功能,但可以进行调整或扩充。通常最好先将它们放在邮件列表上并进行讨论,然后总结或链接到讨论,如果其他人似乎对改进感兴趣。

  • 希望:这就像一个新功能,但对于某些你可能没有背景来充实自己的东西。

错误和测试具有最高优先级,应该是可操作的。

164.4.1。报告有效问题的指南

  • 搜索重复项:您的问题可能已被报告过。看一看,意识到其他人可能会以不同的方式描述摘要。

    还可以搜索邮件列表,其中可能包含有关您的问题以及如何解决问题的信息。不要为已经在邮件列表中讨论和解决的问题提出问题,除非您强烈反对决议并且愿意帮助解决问题。

    • 公开讨论:使用邮件列表讨论您发现的内容,看看是否有遗漏的内容。避免使用反向渠道,以便您从整个项目的经验和专业知识中受益。

    • 不要代表他人提交:你可能没有所有的上下文,而且你没有那么多的动机来把它看成是实际遇到这个 bug 的人。从长远来看,鼓励他人提出自己的问题会更有帮助。指出这些材料并提供第一次或第二次帮助。

    • 写一个很好的总结:一个很好的总结包括有关问题的信息,对用户或开发人员的影响以及代码的区域。

      • 好:Address new license dependencies from hadoop3-alpha4

      • 改进空间:Canary is broken

        如果你写了一个糟糕的标题,别人会为你重写它。这是他们本可以花时间处理这个问题的时候了。

    • 在描述中给出上下文:在多个部分中考虑这个可能是好的:

      • 会发生什么或不会发生什么?

      • 它对你有何影响?

      • 别人怎么能重现它?

      • 什么会“固定”的样子?

        您不需要知道所有这些的答案,但尽可能多地提供信息。如果您可以提供技术信息,例如您认为可能导致问题的 Git 提交 SHA,或者您认为问题首次出现在 builds.apache.org 上的构建失败,请分享该信息。

    • 填写所有相关字段:这些字段可帮助我们过滤,分类和查找内容。

    • 一个错误,一个问题,一个补丁:为了帮助反向移植,不要在多个错误之间拆分问题或修复。

    • 如果可以增加价值:即使您不知道如何解决问题,提交问题仍然很好。但是提供尽可能多的信息,愿意分类和回答问题,并愿意测试潜在的修复程序甚至更好!我们希望尽快修复您的问题。

    • 如果我们不解决它,请不要沮丧:时间和资源是有限的。在某些情况下,我们可能无法(或可能选择不)修复问题,特别是如果它是边缘情况或有解决方法。即使它没有得到修复,JIRA 也是它的公开记录,并且如果它们将来遇到类似的问题,将帮助其他人。

164.4.2。处理一个问题

要检查您作为初学者可以解决的现有问题,请在 JIRA 中搜索标有“初学者”%20AND%20status%20in%20 标签的[问题(开放%2C%20%22In%20Progress% 22%2C%20Reopened))。](https://issues.apache.org/jira/issues/?jql=project%20%3D%20HBASE%20AND%20labels%20in%20(beginner)

JIRA 优先事项

  • Blocker :仅在问题可能导致数据丢失或群集不稳定时使用。

  • 严重:在某些情况下,所描述的问题可能导致数据丢失或群集不稳定。

  • 主要:重要但不是悲剧性的问题,例如客户端 API 的更新,它将添加许多急需的功能或需要修复但不会导致数据丢失的重大错误。

  • 次要:有用的增强功能和烦人但不会破坏性的错误。

  • 琐碎:有用的增强功能,但通常是化妆品。

示例 41. Jira 评论中的代码块

Jira 中常用的宏是{code}。标签内的所有内容都已预先格式化,如本例所示。

{code}
code snippet
{code}