关注我们

1
如何参与开源贡献
参与Apache SeaTunnel开源贡献的常见方法有多种:
1)参与解答
在社区中, 帮助使用过程中遇到困难的人,帮他们解释框架的用法也算是一种贡献。
2)文档贡献
帮助框架来完善文档,比如说将英文文档翻译为中文,纠正文档里面的错误单词,这是很多人参与开源贡献的第一步。
3)代码贡献
经过阅读源码,发现源码中有Bug,修改后将代码提交给社区。或者,框架有一个新的特性亟待开发,你为新功能的实现提供了解决方案,这属于代码贡献,也是一种重要的参与开源贡献的方式。
4)参与Meetup分享
参与社区定期举行的线上/线下Meetup,以讲师或志愿者的身份参与其中,参与Apache SeaTunnel实践分享、市场、运营等活动,均属于为社区做贡献。
5)投稿
撰写关于Apache SeaTunnel的话题,无论是技术部署文档,还是实践经验、参与开源分享经验总结等,都可以投稿给社区(加小助手微信17743592110),获得发表即可视为非代码贡献。开源社区中常见的三个身份标签
1)contributor (贡献者)
只要参与过一次贡献就算是贡献者,
2)committer (提交者)
成为 contributor 后,如果你能保证持续贡献,而且有扎实的技术功底,经PMC(管理委员会)Member投票或讨论决定后,可以决定让你成为一名committer 。Committer和 contributor的区别在于,commiter对于项目的仓库是具有写的权限的。他可以审核并合并contributor的代码。而且如果成为commiter,你还会获得一个后缀为@apache.org 的邮箱。
3)PMC(管理委员会)Member
Committer中表现优秀的话,是可以成为PMC Member的。PMC Member要负责整个项目的走向,做出一些重要的决策,要具备前瞻性的技术眼光。
2
如何修改Bug
问题复现
当时,向Doris插入数据时会抛出一个
ClassCastException,也就是类型的强转错误。这里会报
Java.Util.ArratList不能强转为
java.lang.CharSequence。在反复确认我们的配置文件写的没问题后,我们仔细阅读了一下控制台打印的栈追踪信息。

通过最后打印的栈追踪信息,我们可以知道出错的位置在
DorisOutPutFormat.java文件的第210行,于是我们需要去idea里面打开源码看一下这里的代码是怎么写的。

定位到210行后, 我们看到下面的问题。


我们需要看一下 String 提供的这个join 静态方法,对参数的要求。


重新打包
接着,我们可以重新编译这个包,把重新编译的包放到我们的集群上, 再跑一次任务 看看能不能通过。在这个过程中,因为跨平台性的问题(windows 和 linux 的路径不通用, 其 实也是个 bug),有一些单元测试我们无法通过,因此我们取个巧,用下面的方式进行编译打包, 跳过单元测试和代码的格式审查。
mvn clean package -D maven.test.skip=true -D checkstyle.skip=true使用新的包
接着, 我们使用重新编译过的 SeaTunnel 执行我们之前向Doris 导入数据的命令。到我们的 Doris 上查看数据是否成功导入
这次我们的数据成功导进了 doris。而且我们的程序并没有因为类型转换错误而崩溃。

经过上面的这些步骤,我们确信问题是出在源码的问题上。接下来我们要开始向社区汇报这个 bug,并向社区提供我们的解决方案。
3
如何创建issue
什么是 issue

如何创建 issue





4
如何创建Pull Request



5
如何修改代码
2)在我们之前确定的位置,改代码

(这个地方应该先建一个分支,从 dev 上分出来,在新建分支的基础上 commit。这里成反面教材了_)


6
如何创建PR



7
成功成为源码贡献者!

你的发言记录上,会出现 contributor 的标记。

8
寻找贡献机会

Apache SeaTunnel
精彩推荐
点击阅读原文了解更多⭐️!

文章转载自SeaTunnel,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。





