You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@accumulo.apache.org by GitBox <gi...@apache.org> on 2022/10/25 15:05:40 UTC

[GitHub] [accumulo-website] DomGarguilo commented on a diff in pull request #355: Improve verifying-release page

DomGarguilo commented on code in PR #355:
URL: https://github.com/apache/accumulo-website/pull/355#discussion_r1004610687


##########
contributor/verifying-release.md:
##########
@@ -3,84 +3,104 @@ title: Verifying a Release
 redirect_from: /verifying_releases
 ---
 
-This is a guide for the verification of a release candidate of Apache Accumulo. These steps are meant to encapsulate
-the requirements of the PMC set forth by the Foundation itself.
-
-The information here is meant to be an application of Foundation policy. When in doubt or conflict, any Foundation-level
-trumps anything written here.
+This is a guide to help verify the quality of a release or release candidate. The testing described
+here is not a requirement of the Foundation, but may be useful to help PMC members decide how they
+wish to vote for a release candidate.
 
 ## Versioning
 
 Accumulo has adopted [Semantic Versioning][semver] and follows their rules and guidelines.
 
 ## Testing basics
 
-Each release of Accumulo should be tested by the community to verify correctness. 
+Each release of Accumulo should be tested by the community to verify correctness.
 
 Below are some suggested tests that can be run (feel free to run your own custom tests too):
 
-* Run Accumulo's unit and integration tests using the following command:
-
-        $ mvn verify
-
-* Build the [Accumulo Examples][examples] repo using the release candidate by updating the `accumulo.version`
-  property in the `pom.xml` and using the staging repo. Also, run the unit/integration tests using `mvn verify`.
-
-* Run Accumulo's distributed tests (i.e. random walk, continuous ingest). These tests are intended to be run for days
-  on end while injecting faults into the system. These are the tests that truly verify the correctness of Accumulo on
-  real systems. Starting with 2.0, these tests are run using the [Accumulo Testing repo][at]. See the [README.md][at-readme]
-  for more information.  Before 2.0, these tests are found in Accumulo tarball at `test/system/randomwalk` and
+* Run only Accumulo's unit tests and build the software using `mvn package`
+* Run Accumulo's unit and integration tests using `mvn verify`
+* Build the [Accumulo Examples][examples] repo using the release candidate by updating the
+  `accumulo.version` property in the `pom.xml` and using the staging repo. Also, run the
+  unit/integration tests using `mvn verify`.
+* Run Accumulo's distributed tests (i.e. random walk, continuous ingest). These tests are intended
+  to be run for hours or days, optionally injecting faults into the system through "agitation".
+  These tests simulate behaviors that can occur on a real deployment. Starting with 2.0, these tests
+  are run using the [Accumulo Testing repo][at]. See the [README.md][at-readme] for more
+  information. Before 2.0, these tests are found in Accumulo tarball at `test/system/randomwalk` and
   `test/system/continuous` which include instructions on how to run the tests.
 
 ## Project testing goals
 
-While contributors do not need perform all tests, there should a minimum amount of testing done by the project as whole before a release is made.
+While contributors do not need perform all tests, there should a minimum amount of testing done by
+the project as whole before a release. The testing that the developers do are documented in the
+release notes for that release.
 
-Testing for an Accumulo release includes a few steps that a developer may take without a Hadoop cluster and several that require a working cluster. For minor releases, 
-the tests which run on a Hadoop cluster are recommended to be completed but are not required. Running even a reduced set of tests against real hardware is always encouraged
-even if the full test suite (in breadth of nodes or duration) is not executed. If PMC members do not believe adequate testing was performed for the sake of making the proposed
-release, the release should be vetoed via the normal voting process. New major releases are expected to run a full test suite.
+Testing for an Accumulo release includes a few steps that a developer may take without a Hadoop
+cluster and several that require a working cluster. For minor releases, the tests which run on a
+Hadoop cluster are recommended to be completed but are not required. Running even a reduced set of
+tests against real hardware is always encouraged even if the full test suite (in breadth of nodes or
+duration) is not executed. New major releases are expected to receive more comprehensive testing,
+because they contain a greater number of changes and require more vetting.
 
-### Stand alone
+If PMC members do not believe adequate testing was performed for the sake of making the proposed
+release, they may vote `-0` or `-1` on that release and are encouraged to assist with testing the
+release to their satisfaction.
 
-The following steps can be taken without having an underlying cluster. They SHOULD be handled with each Hadoop profile available for a given release version. To activate an alternative profile specify e.g. "-Dhadoop.profile=2" for the Hadoop 2 profile on the Maven commandline. Some older versions of Accumulo referred to Hadoop profiles differently; see the README that came with said versions for details on building against different Hadoop versions.
+### Stand alone
 
-  1. All JUnit tests must pass.  This should be a requirement of any patch so it should never be an issue of the codebase.
-    - Use "mvn package" to run against the default profile of a particular release
-    - Use "mvn -Dhadoop.profile=2 package" to test against the Hadoop 2 profile on e.g. 1.4 or 1.5
-    - Use "mvn -Dhadoop.profile=1 package" to test against the Hadoop 1 profile on e.g. 1.6 or later
-  - Analyze output of static analysis tools like Findbugs and PMD.
-  - For versions 1.6 and later, all functional tests must pass via the Maven failsafe plugin.
-    - Use "mvn verify" to run against the default profile of a particular release
-    - Use "mvn -Dhadoop.profile=1 verify" to run the functional tests against the Hadoop 1 profile
+The following steps can be taken without having an underlying cluster. They should be handled with
+each Hadoop profile available for a given release version. To activate an alternative profile
+specify e.g. `-Dhadoop.profile=2` for the Hadoop 2 profile on the Maven commandline. Some older
+versions of Accumulo referred to Hadoop profiles differently; see the README that came with said
+versions for details on building against different Hadoop versions, or its release notes.
+
+  - All JUnit tests should pass. This should be a requirement of any patch so it should never be an
+    issue during a release.
+    - Use `mvn package` to run against the default profile of a particular release
+    - Use `mvn -Dhadoop.profile=2 package` to test against the Hadoop 2 profile (not applicable to
+      all versions)
+  - Analyze output of static analysis tools like spotbugs and PMD.
+  - For versions 1.6 and later, all integration tests should pass via the Maven failsafe plugin.
+    - Use `mvn verify` to run against the default profile of a particular release
+    - Use `mvn -Dhadoop.profile=2 verify` to run the tests against the Hadoop 2 profile (not
+      applicable to all versions)
 
 ### Cluster based
 
-The following tests require a Hadoop cluster running a minimum of HDFS, MapReduce, and ZooKeeper. The cluster MAY have any number of worker nodes; it can even be a single node in pseudo-distributed mode. A cluster with multiple tablet servers SHOULD be used so that more of the code base will be exercised. For the purposes of release testing, you should note the number of nodes and versions used. See the Releasing section for more details.
-
-  1. For versions prior to 1.6, all functional tests must complete successfully.
-    - See $ACCUMULO_HOME/test/system/auto/README for details on running the functional tests.
-  - Two 24-hour periods of the LongClean module of the RandomWalk test need to be run successfully. One of them must use agitation and the other should not.
-    - See $ACCUMULO_HOME/test/system/randomwalk/README for details on running the LongClean module.
-  - Two 24-hour periods of the continuous ingest test must be validated successfully. One test period must use agitation and the other should not.
-    - See $ACCUMULO_HOME/test/system/continuous/README for details on running and verifying the continuous ingest test.
-  - Two 72-hour periods of continuous ingest must run. One test period must use agitation and the other should not. No validation is necessary but the cluster should be checked to ensure it is still functional.
+The following tests require a Hadoop cluster running a minimum of HDFS, MapReduce, and ZooKeeper.
+The cluster may have any number of worker nodes; it can even be a single node in pseudo-distributed
+mode. A cluster with multiple tablet servers should be used so that more of the code base will be
+exercised. For the purposes of release testing, you should note the number of nodes and versions
+used. See the Releasing section for more details. These are only example of cluster tests. You may
+run more or less tests. Information about these can be found in the [Accumulo Testing repo][at].
+
+  - Two 24-hour periods of the `LongClean` module of the RandomWalk test without unexpected errors,
+    one with agitation, and one without
+  - Two 24-hour periods of the continuous ingest test, with successful verification, one with
+    agitation and one without
+  - A 24-hour period of the bulk continuous ingest test, with successful verification
+  - A 72-hour period of continuous ingest wihtout verification, but check the logs for any errors

Review Comment:
   ```suggestion
     - A 72-hour period of continuous ingest without verification, but check the logs for any errors
   ```



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@accumulo.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org