Dear Wiki user, You have subscribed to a wiki page or wiki category on "Hadoop Wiki" for change notification.
The "HowToContribute" page has been changed by SteveLoughran: https://wiki.apache.org/hadoop/HowToContribute?action=diff&rev1=111&rev2=112 Comment: call out java 8 javadocs as a veto, and that a +1 on any of the object stores isn't enough; listing the prerequisites to having patches there reviewed }}} Examine all public classes you've changed to see that documentation is complete, informative, and properly formatted. Your patch must not generate any javadoc warnings. + Jenkins includes a javadoc run on Java 8, which is stricter than Java 7: it will fail if there are unbalanced HTML tags or {{{<p/>}}} clauses (use {{{<p>}}} here. + + If Jenkins rejects a patch due to Java 8 javadoc failures, it is considered an automatic veto for the patch. + ==== Creating a patch ==== Check to see what files you have modified with: @@ -124, +128 @@ In order to create a patch, type (from the base directory of hadoop): {{{ - git diff trunk > HADOOP-1234.patch + git diff trunk...HEAD > HADOOP-1234.patch }}} This will report all modifications done on Hadoop sources on your local disk and save them into the ''HADOOP-1234.patch'' file. Read the patch file. Make sure it includes ONLY the modifications required to fix a single issue. @@ -183, +187 @@ To apply a patch either you generated or found from JIRA, you can issue {{{ - git apply -p0 cool_patch.patch + git apply -p0 --verbose cool_patch.patch }}} If you are an Eclipse user, you can apply a patch by : @@ -210, +214 @@ 1. Folks should run {{{mvn clean install javadoc:javadoc checkstyle:checkstyle}}} before selecting '''Submit Patch'''. 1. Tests must all pass. 1. Javadoc should report '''no''' warnings or errors. + 1. The Javadoc on java 8 must not fail. 1. Checkstyle's error count should not exceed that listed at lastSuccessfulBuild/artifact/trunk/build/test/checkstyle-errors.html . Jenkins's tests are meant to double-check things, and not be used as a primary patch tester, which would create too much noise on the mailing list and in Jira. Submitting patches that fail Jenkins testing is frowned on, (unless the failure is not actually due to the patch). 1. If your patch involves performance optimizations, they should be validated by benchmarks that demonstrate an improvement. @@ -222, +227 @@ Should your patch receive a "-1" from the Jenkins testing, select the '''Cancel Patch''' on the issue's Jira, upload a new patch with necessary fixes, and then select the '''Submit Patch''' link again. + + === Submitting patches against object stores such as Amazon S3, OpenStack Swift and Microsoft Azure === + + The modules {{{hadoop-aws}}}, {{{hadoop-openstack}}} and {{{hadoop-azure}}} contain filesystem clients which work with Amazon S3, OpenStack Swift and Microsoft Azure storage respectively. + + The test suites for these modules are not executed on Jenkins because they need credentials to work with. + + '''Having Jenkins +1 any patch against an object store does not mean the patch works: it must be manually tested by the submitter, the committer and any other reviewers who can do so''' + + If a Yetus patch run says +1 for an object store patch, all it means is "the compilation, javadoc and style checks passed". It does not mean the patch works, or that it is ready to be committed. + + The details of how to test for these object stores are covered [[http://hadoop.apache.org/docs/current/hadoop-project-dist/hadoop-common/filesystem/testing.html|in the filesystem specification documentation]]. + + When submitting a patch, make sure the patch does not include any of your secret credentials. The Hadoop {{{.gitignore}}} file is set to ignore specific XML test resources for this purpose. + + {{{ + hadoop-common-project/hadoop-common/src/test/resources/contract-test-options.xml + hadoop-tools/hadoop-openstack/src/test/resources/contract-test-options.xml + hadoop-tools/hadoop-aws/src/test/resources/auth-keys.xml + hadoop-tools/hadoop-aws/src/test/resources/contract-test-options.xml + hadoop-tools/hadoop-azure/src/test/resources/azure-auth-keys.xml + }}} + + Please state which infrastructures you have tested against, —including which regions you tested against. If you have not tested the patch yourself, do not expect anyone to look at the patch. + + We welcome anyone who can test these patches: please do so and again, declare what you have tested against. That includes in-house/proprietary implementations of the APIs as well as public infrastructures. + == Jira Guidelines == Please comment on issues in Jira, making their concerns known. Please also vote for issues that are a high priority for you.