很多想参与项目开发的同学因为没有人领路,不知道哪些任务适合自己,对于如何参与到项目中也是一头雾水。今天就来介绍一下如何参与开发,本文主要目标是帮助大家如何加入社区。

今天的内容主要包括:订阅邮件列表,寻找 issue,编译源码,调试服务器代码。

订阅邮件列表

Apache 项目的主要沟通方式是邮件列表,我们项目开发者的邮件列表为 dev@iotdb.apache.org , 只要订阅了这个邮件列表,就能接收到其他人往这个邮箱里发的邮件,同样,你向这里发的邮件别人也会接收到,类似一个延迟稍微高一些的微信群。

订阅方式是用邮箱往 dev-subscribe@iotdb.apache.org 发一封邮件,主题内容随意,可以写 subscribe。接下来会受到一封确认邮件,确认邮件里有一个链接,往这个确认链接再回一封邮件就订阅成功了。

订阅后的第一件事就是发个自我介绍啦,可以介绍一下自己的姓名、地区、公司、熟悉的语言、技术栈等等。

大家不用把邮件列表当做那么严肃的地方,其实这里边可以讨论任何和项目有关的,包括举办meetup、反馈 bug、分享设计思路,或者刚入门希望别人给介绍一些入门的任务项等,都是可以的。

刚来对待邮件列表的态度就是:不怕犯错,不怕说错,热情发言。

寻找合适的 issue

平时用的是 jira。

https://issues.apache.org/jira/projects/IOTDB/issues

此外 github 的 issue 也可以。

如果不知道哪些功能适合自己,可以来邮件列表里问,或者问我也可以。

编译源码

git clone https://github.com/apache/incubator-iotdb.git

接下来需要将 thrift/target/generated-sources/thrift 和 antlr/target/generated-sources/antlr4 目录标记成项目源代码,让 IDE 识别。

以 IDEA 标记 antlr 目录为例:

迈出加入 Apache IoTDB 社区的第一步!(订阅邮件、调试代码)-LMLPHP

到此为止,代码中应该就没有飘红的了。

调试服务器代码

第一次调试 IoTDB,可以从两个模块入手,服务器(server)和命令行工具(cli )。

首先启动服务器,主类 IoTDB,debug 模式启动。

迈出加入 Apache IoTDB 社区的第一步!(订阅邮件、调试代码)-LMLPHP

接下来给 TSServiceImpl 类的 executeStatement 打个断点,Cli 里写的语句都会发送给服务器,而服务器的线程就通过这个 rpc 函数处理语句了。

迈出加入 Apache IoTDB 社区的第一步!(订阅邮件、调试代码)-LMLPHP

接下来启动命令行工具。主类为 Cli (mac、linux)或 WinCli (windows)。启动之后会报缺少参数,这个时候可以在箭头处选 Cli,然后 Edit Configuration

迈出加入 Apache IoTDB 社区的第一步!(订阅邮件、调试代码)-LMLPHP

把类 javadoc 里的几个参数设置到 Program arguments 里,点击 Apply,OK。

迈出加入 Apache IoTDB 社区的第一步!(订阅邮件、调试代码)-LMLPHP

然后就可以 run 启动 Cli 了(如果想调试客户端,可以 debug 模式启动)。启动之后可以在 run 的控制台里输入一个命令,这里以创建存储组为例,输入完回车,客户端进程就开始等待服务器返回结果了。

迈出加入 Apache IoTDB 社区的第一步!(订阅邮件、调试代码)-LMLPHP

这时候会自动跳转到服务器进程的 debugger 里,就可以正式调试了。

迈出加入 Apache IoTDB 社区的第一步!(订阅邮件、调试代码)-LMLPHP

另外一种适合学习代码的是跑测试用例,每个模块都有对应的测试用例,普通的 UT 命名都对应了(测试的类名+Test),集成测试的后缀是 IT。

总结

迈出第一步之后,就可以对照设计文档看代码啦,http://iotdb.apache.org/zh/SystemDesign/Architecture/Architecture.html 。接下来会介绍 IoTDB 的设计原理、源码解析等内容。欢迎关注!

迈出加入 Apache IoTDB 社区的第一步!(订阅邮件、调试代码)-LMLPHP

本文分享自微信公众号 - IoTDB漫游指南(Apache-IoTDB)。
如有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。

07-12 08:19