...
- Your public key is listed in https://dist.apache.org/repos/dist/release/incubator/pinot/KEYS
- Your public key is viewable at https://people.apache.org/keys/committer/<apache_ldap_id>.asc (e.g. https://people.apache.org/keys/committer/snlee.asc)
- Your public key is viewable at https://people.apache.org/keys/group/pinot.asc
Clone Pinot code base
...
Check out staging and release distributions
You need to check out Apache staging & release distribution directories for Pinot.
Code Block | ||
---|---|---|
| ||
$svn git checkout -b release-<version> <commit-hash> $ git push origin release-<version> # Example $ git checkout -b release-0.3.0-rc 9abf0a4b105d624ec310273c2bd7f52c1f3ce12a $ git push origin release-0.3.0-rc |
Run the test with sampling OFF, with the following changes (do not check in)
co https://dist.apache.org/repos/dist/release/incubator/pinot pinot-release-dist
svn co https://dist.apache.org/repos/dist/dev/incubator/pinot pinot-dev-dist |
Info |
---|
Final PMC approved release will be placed in https://dist.apache.org/repos/dist/release/incubator/pinot. Do NOT upload anything here until voting from both dev@pinot and general@incubator pass. Release candidates will be in https://dist.apache.org/repos/dist/dev/incubator/pinot. This link will be used for voting process. |
Ensure access to Apache repository manager
You need to ensure that you have the access to Apache Repository Manager (Nexus). Try to log in with Apache user name and password.
Clone Pinot code base
Clone the latest pinot code base in your local machine. Create a branch for your release from the point at which you wish to cut a release. his should be a commit hash that has been tested and verified in reasonable settings (e.g Pinot software has been tested to run in production with various use cases at a particular commit hash). For example:
Code Block | ||
---|---|---|
| ||
$ git checkout -b release-<version> <commit-hash>
$ git push origin release-<version>
# Example
$ git checkout -b release-0.3.0-rc 9abf0a4b105d624ec310273c2bd7f52c1f3ce12a
$ git push origin release-0.3.0-rc |
Run the test with sampling OFF, with the following changes (do not check in)
Code Block | ||
---|---|---|
| ||
--- a/pinot-integration-tests/src/test/java/org/apache/pinot/integration/tests/BaseClusterIntegrationTestSet.java
+++ b/pinot-integration-tests/src/test/java/org/apache/pinot/integration/tests/BaseClusterIntegrationTestSet.java
@@ -297,10 +297,6 @@ public abstract class BaseClusterIntegrationTestSet extends BaseClusterIntegrati
int maxNumQueriesToSkipInQueryFile = getMaxNumQueriesToSkipInQueryFile();
| ||
Code Block | ||
| ||
--- a/pinot-integration-tests/src/test/java/org/apache/pinot/integration/tests/BaseClusterIntegrationTestSet.java +++ b/pinot-integration-tests/src/test/java/org/apache/pinot/integration/tests/BaseClusterIntegrationTestSet.java @@ -297,10 +297,6 @@ public abstract class BaseClusterIntegrationTestSet extends BaseClusterIntegrati int maxNumQueriesToSkipInQueryFile = getMaxNumQueriesToSkipInQueryFile(); try (BufferedReader reader = new BufferedReader(new FileReader(queryFile))) { while (true) { - int numQueriesSkipped = RANDOM.nextInt(maxNumQueriesToSkipInQueryFile); - for (int i = 0; i < numQueriesSkipped; i++) { - reader.readLine(); - } String queryString = reader.readLine(); // Reach end of file. @@ -335,10 +331,6 @@ public abstract class BaseClusterIntegrationTestSet extends BaseClusterIntegrati try (BufferedReader reader = new BufferedReader(new FileReader(queryFile))) { while (true) { - int numQueriesSkipped = RANDOM.nextInt(maxNumQueriesToSkipInQueryFile); - for (int i = 0; i < numQueriesSkipped; i++) { - reader.readLine(); - } queryId++; - String queryString = reader.readLine(); } |
Run the test, and make sure there are no failures (this can take 5-6 hours)
Code Block | ||
---|---|---|
| ||
mvn clean test |
// Reach end of file.
@@ -335,10 +331,6 @@ public abstract class BaseClusterIntegrationTestSet extends BaseClusterIntegrati
try (BufferedReader reader = new BufferedReader(new FileReader(queryFile))) {
while (true) {
int numQueriesSkipped = RANDOM.nextInt(maxNumQueriesToSkipInQueryFile);
- for (int i = 0; i < numQueriesSkipped; i++) {
- reader.readLine();
- queryId++;
- } |
Run the test, and make sure there are no failures (this can take 5-6 hours)
Code Block | ||
---|---|---|
| ||
mvn clean test |
Note |
---|
The update of LICENSE, NOTICE files, and the run of |
Note |
The update of LICENSE, NOTICE files, and the run of |
...
Here is a command you can use to get all the check-ins since the last release
Code Block | ||||
---|---|---|---|---|
| ||||
git log 2a3860229^..git log 2a3860229^.. -- pinot-api -- pinot-azure-filesystem -- pinot-broker -- pinot-common -- pinot-connectors -- pinot-controller -- pinot-core -- pinot-hadoopapi -- pinot-hadoopazure-filesystem -- pinot-minionbroker -- pinot-orccommon -- pinot-parquetconnectors -- pinot-servercontroller -- pinot-tools -- pinot-transport # Assuming 2a3860229 was the commit hash in the master where the previous release was branched off # Each argument following -- is a directory under pinot source tree (note that we have excluded the 'docs' directory |
Once you have the commits, you are ready to come up with good material for release notes.
Draft the release notes in a text file (in markdown syntax) and keep it ready. You will need it in a later step.
Check out staging and release distributions
You need to check out Apache staging & release distribution directories for Pinot.
Code Block | ||
---|---|---|
| ||
svn co https://dist.apache.org/repos/dist/release/incubator/pinot pinot-release-dist
svn co https://dist.apache.org/repos/dist/dev/incubator/pinot pinot-dev-dist |
Info |
---|
Final PMC approved release will be placed in https://dist.apache.org/repos/dist/release/incubator/pinot. Do NOT upload anything here until voting from both dev@pinot and general@incubator pass. Release candidates will be in https://dist.apache.org/repos/dist/dev/incubator/pinot. This link will be used for voting process. |
Ensure access to Apache repository manager
core -- pinot-hadoop -- pinot-hadoop-filesystem -- pinot-minion -- pinot-orc -- pinot-parquet -- pinot-server -- pinot-tools -- pinot-transport
# Assuming 2a3860229 was the commit hash in the master where the previous release was branched off
# Each argument following -- is a directory under pinot source tree (note that we have excluded the 'docs' directory |
Once you have the commits, you are ready to come up with good material for release notes.
Draft the release notes in a text file (in markdown syntax) and keep it ready. You will need it in a later stepYou need to ensure that you have the access to Apache Repository Manager (Nexus). Try to log in with Apache user name and password.
Updating LICENSE-binary file
...