One aspect of community development of Apache Hadoop is the way that everyone working on Hadoop -full time, part time, vendors, users and even some researchers all collaborate together in the open. This developed is based on publicly accessible project tools: Apache Subversion for revision control, Apache Maven for the builds; Jenkins for automating those builds and tests. Central to a lot of work is the Apache JIRA server, an instance of Atlassian’s issue management tool.
If you are a Hadoop developer, you spend a lot of time with web browser tabs pointed at JIRA issues. As an example I’m keeping an eye on, YARN-896 and YARN-1489; new features being added to YARN to aid running long-lived applications in a Hadoop 2 cluster.
You also get to issues filed by others ending up in your inbox by way of subscriptions to the hadoop developer mailing lists: anyone has the right to create a JIRA account, file issue reports, and even supply patches to the source code.
Here’s a video I’ve made, and some slides, on how to do that – and in particular – how not to:
A theme I repeat in it is that JIRA is not a place to ask for help. If you have a support subscription with Hortonworks, you should report problems via our support portal as this lets us track the problem and – escalating as need be – any issue which does need a fix in Hadoop’s code will have a public JIRA filed against it, a patch developed in the open. There’s also our community forums to discuss HDP-specific issues.
Others will have a similar stance, even more so if their Big Data stacks include closed-source components such as filesystems, job schedulers or management tools. Issues in closed source components would – naturally – have to be taken up directly with the vendor.
The underlying Apache projects do welcome public filing of bug reports – provided they are about real bugs in the applications, and if they come with enough information to make it possible to identify root causes. They also welcome people supplying fixes to those bugs – patches containing source code, including tests. That’s a topic I plan to cover in another video.