This is an automated email from the ASF dual-hosted git repository.
git-site-role pushed a commit to branch asf-site
in repository https://gitbox.apache.org/repos/asf/beam.git
The following commit(s) were added to refs/heads/asf-site by this push:
new 74a8b33 Publishing website 2021/11/17 00:01:44 at commit 072fcae
74a8b33 is described below
commit 74a8b334cfbee3a16a0b39af12f584dffa277001
Author: jenkins <[email protected]>
AuthorDate: Wed Nov 17 00:01:45 2021 +0000
Publishing website 2021/11/17 00:01:44 at commit 072fcae
---
website/generated-content/contribute/index.xml | 50 ++++++++++++++--------
.../contribute/release-guide/index.html | 30 +++++++------
website/generated-content/documentation/index.xml | 4 +-
.../documentation/programming-guide/index.html | 4 +-
website/generated-content/get-started/index.xml | 4 +-
.../get-started/quickstart-go/index.html | 6 +--
website/generated-content/sitemap.xml | 2 +-
7 files changed, 60 insertions(+), 40 deletions(-)
diff --git a/website/generated-content/contribute/index.xml
b/website/generated-content/contribute/index.xml
index 85d9b4c..ab53f84 100644
--- a/website/generated-content/contribute/index.xml
+++ b/website/generated-content/contribute/index.xml
@@ -297,8 +297,9 @@ limitations under the License.
<li><a href="#create-a-new-version-in-jira">Create a new version in
JIRA</a></li>
</ul>
</li>
-<li><a href="#3-investigate-performance-regressions">3. Investigate
performance regressions</a></li>
-<li><a href="#4-create-a-release-branch-in-apachebeam-repository">4.
Create a release branch in apache/beam repository</a>
+<li><a
href="#3-update-base-image-dependencies-for-python-container-images">3. Update
base image dependencies for Python container images</a></li>
+<li><a href="#4-investigate-performance-regressions">4. Investigate
performance regressions</a></li>
+<li><a href="#5-create-a-release-branch-in-apachebeam-repository">5.
Create a release branch in apache/beam repository</a>
<ul>
<li>
<ul>
@@ -313,7 +314,7 @@ limitations under the License.
</li>
</ul>
</li>
-<li><a href="#5-verify-release-branch">5. Verify release branch</a>
+<li><a href="#6-verify-release-branch">6. Verify release branch</a>
<ul>
<li>
<ul>
@@ -326,12 +327,12 @@ limitations under the License.
</li>
</ul>
</li>
-<li><a href="#6-triage-release-blocking-issues-in-jira">6. Triage
release-blocking issues in JIRA</a>
+<li><a href="#7-triage-release-blocking-issues-in-jira">7. Triage
release-blocking issues in JIRA</a>
<ul>
<li><a href="#review-cherry-picks">Review cherry-picks</a></li>
</ul>
</li>
-<li><a href="#7-build-a-release-candidate">7. Build a release
candidate</a>
+<li><a href="#8-build-a-release-candidate">8. Build a release
candidate</a>
<ul>
<li><a href="#checklist-before-proceeding">Checklist before
proceeding</a></li>
<li><a href="#tag-a-chosen-commit-for-the-rc">Tag a chosen commit for
the RC</a></li>
@@ -343,7 +344,7 @@ limitations under the License.
<li><a href="#upload-release-candidate-to-pypi">Upload release candidate
to PyPi</a></li>
</ul>
</li>
-<li><a href="#8-prepare-documents">8. Prepare documents</a>
+<li><a href="#9-prepare-documents">9. Prepare documents</a>
<ul>
<li><a href="#propose-pull-requests-for-website-updates">Propose pull
requests for website updates</a>
<ul>
@@ -353,7 +354,7 @@ limitations under the License.
</li>
</ul>
</li>
-<li><a href="#9-vote-and-validate-release-candidate">9. Vote and
validate release candidate</a>
+<li><a href="#10-vote-and-validate-release-candidate">10. Vote and
validate release candidate</a>
<ul>
<li><a href="#run-validation-tests">Run validation tests</a>
<ul>
@@ -366,7 +367,7 @@ limitations under the License.
<li><a href="#checklist-to-proceed-to-the-next-step-2">Checklist to
proceed to the next step</a></li>
</ul>
</li>
-<li><a href="#10-finalize-the-release">10. Finalize the release</a>
+<li><a href="#11-finalize-the-release">11. Finalize the release</a>
<ul>
<li><a href="#deploy-artifacts-to-maven-central-repository">Deploy
artifacts to Maven Central Repository</a></li>
<li><a href="#deploy-python-artifacts-to-pypi">Deploy Python artifacts
to PyPI</a></li>
@@ -384,7 +385,7 @@ limitations under the License.
<li><a href="#checklist-to-proceed-to-the-next-step-3">Checklist to
proceed to the next step</a></li>
</ul>
</li>
-<li><a href="#11-promote-the-release">11. Promote the release</a>
+<li><a href="#12-promote-the-release">12. Promote the release</a>
<ul>
<li><a href="#apache-mailing-lists">Apache mailing lists</a></li>
<li><a href="#social-media">Social media</a></li>
@@ -411,6 +412,7 @@ This guide complements the foundation-wide <a
href="http://www.apache.org/dev
<ol>
<li>Decide to release</li>
<li>Prepare for the release</li>
+<li>Update base image dependencies for Python container images</li>
<li>Investigate performance regressions</li>
<li>Create a release branch</li>
<li>Verify release branch</li>
@@ -582,7 +584,19 @@ If you are not a PMC, please ask for help in dev@ mailing
list.</p>
<li>At the end of the release, go to the same page and mark the recently
released version as released. Use the <code>...</code> menu and choose
<code>Release</code>.</li>
</ol>
<hr>
-<h2 id="3-investigate-performance-regressions">3. Investigate performance
regressions</h2>
+<h2 id="3-update-base-image-dependencies-for-python-container-images">3.
Update base image dependencies for Python container images</h2>
+<ol>
+<li>Check the versions specified in
sdks/python/container/base_image_requirements_manual.txt` and update them if
necessary.</li>
+<li>Regenerate full dependency list by running:
+<code>./gradlew
:sdks:python:container:generatePythonRequirementsAll</code> and commiting
+the changes. Exectution takes about ~5 min per Python version and is somewhat
resource-demanding.
+You can also regenerate the dependencies indiviually per version with targets
like <code>./gradlew
:sdks:python:container:py38:generatePythonRequirements</code>.</li>
+</ol>
+<p>Ideally, do this at least a week before the release cut, so that any
issues
+related to the update have time to surface.
+You will need Python intepreters for all versions supported by Beam, see:
+<a
href="https://s.apache.org/beam-python-dev-wiki">https://s.apache.org/beam-python-dev-wiki</a>
for tips how to install them.</p>
+<h2 id="4-investigate-performance-regressions">4. Investigate performance
regressions</h2>
<p>Check the Beam load tests for possible performance regressions.
Measurements are available on <a
href="http://metrics.beam.apache.org">metrics.beam.apache.org</a>.</p>
<p>All Runners which publish data should be checked for the following, in
both <em>batch</em> and <em>streaming</em> mode:</p>
@@ -595,7 +609,7 @@ Measurements are available on <a
href="http://metrics.beam.apache.org">metric
The role of the release manager is to file JIRA issues for each regression
with the &lsquo;Fix Version&rsquo; set to the to-be-released version.
The release manager oversees these just like any other JIRA issue marked with
the &lsquo;Fix Version&rsquo; of the release.</p>
<p>The mailing list should be informed to allow fixing the regressions in
the course of the release.</p>
-<h2 id="4-create-a-release-branch-in-apachebeam-repository">4. Create a
release branch in apache/beam repository</h2>
+<h2 id="5-create-a-release-branch-in-apachebeam-repository">5. Create a
release branch in apache/beam repository</h2>
<p>Attention: Only committer has permission to create release branch in
apache/beam.</p>
<p>Release candidates are built from a release branch.
As a final step in preparation for the release, you should create the release
branch, push it to the Apache code repository, and update version information
on the original branch.
@@ -663,7 +677,7 @@ Once the release branch is cut, these SNAPSHOT versions are
no longer found, so
<li>Verify that build succeeds.</li>
</ul>
<hr>
-<h2 id="5-verify-release-branch">5. Verify release branch</h2>
+<h2 id="6-verify-release-branch">6. Verify release branch</h2>
<p>After the release branch is cut you need to make sure it builds and has
no significant issues that would block the creation of the release candidate.
There are 2 ways to perform this verification, either running automation
script(recommended), or running all commands manually.</p>
<p>! Dataflow tests will fail if Dataflow worker container is not created
and published by this time. (Should be done by Google)</p>
@@ -788,7 +802,7 @@ For each of the failing tests create a JIRA with the
following properties:</p
Alongside with this note, a list of pending issues and to-be-triaged issues
should be included.
Afterwards, this list can be refined and updated by the release manager and
the Beam community.</p>
<hr>
-<h2 id="6-triage-release-blocking-issues-in-jira">6. Triage
release-blocking issues in JIRA</h2>
+<h2 id="7-triage-release-blocking-issues-in-jira">7. Triage
release-blocking issues in JIRA</h2>
<p>There could be outstanding release-blocking issues, which should be
triaged before proceeding to build a release candidate.
We track them by assigning the blocked release to the issue&rsquo;s
<code>Fix version</code> field before the issue is resolved.</p>
<p>The release manager should triage what does and does not block a release.
@@ -841,7 +855,7 @@ Neither late releases nor not fully tested code will
provide positive user value
<p><strong>Tip</strong>: Another tool in your toolbox is the known
issues section of the release blog.
Consider adding known issues there for minor issues instead of accepting
cherry picks to the release branch.</p>
<hr>
-<h2 id="7-build-a-release-candidate">7. Build a release candidate</h2>
+<h2 id="8-build-a-release-candidate">8. Build a release candidate</h2>
<h3 id="checklist-before-proceeding">Checklist before proceeding</h3>
<ul>
<li>Release Manager’s GPG key is published to
<code>dist.apache.org</code>;</li>
@@ -999,7 +1013,7 @@ Carefully review any new artifacts.</li>
<p>You can do a dry run by omitting the <code>--deploy</code> flag.
Then it will only download the release candidate binaries. If it looks good,
rerun it with <code>--deploy</code>.</p>
<p>See the source of the script for more details or to run commands
manually in case of a problem.</p>
<hr>
-<h2 id="8-prepare-documents">8. Prepare documents</h2>
+<h2 id="9-prepare-documents">9. Prepare documents</h2>
<h3 id="propose-pull-requests-for-website-updates">Propose pull requests
for website updates</h3>
<p>Beam publishes API reference manuals for each release on the website.
For Java and Python SDKs, that’s Javadoc and PyDoc, respectively.
@@ -1086,7 +1100,7 @@ ${CONTRIBUTORS}
<pre><code>docker pull {image_name}
docker pull apache/beam_python3.5_sdk:2.16.0_rc1
</code></pre><hr>
-<h2 id="9-vote-and-validate-release-candidate">9. Vote and validate release
candidate</h2>
+<h2 id="10-vote-and-validate-release-candidate">10. Vote and validate
release candidate</h2>
<p>Once you have built and individually reviewed the release candidate,
please share it for the community-wide review.
Please review foundation-wide <a
href="http://www.apache.org/foundation/voting.html">voting guidelines</a>
for more information.</p>
<p>Start the review-and-vote thread on the dev@ mailing list.
@@ -1415,7 +1429,7 @@ Thanks everyone!
<li>Community votes to release the proposed candidate, with at least three
approving PMC votes.</li>
</ol>
<hr>
-<h2 id="10-finalize-the-release">10. Finalize the release</h2>
+<h2 id="11-finalize-the-release">11. Finalize the release</h2>
<p>Once the release candidate has been reviewed and approved by the
community, the release should be finalized.
This involves the final deployment of the release candidate to the release
repositories, merging of the website changes, etc.</p>
<h3 id="deploy-artifacts-to-maven-central-repository">Deploy artifacts to
Maven Central Repository</h3>
@@ -1501,7 +1515,7 @@ If you end up getting permissions errors ask on the
mailing list for assistance.
<li>Release version is listed at reporter.apache.org</li>
</ul>
<hr>
-<h2 id="11-promote-the-release">11. Promote the release</h2>
+<h2 id="12-promote-the-release">12. Promote the release</h2>
<p>Once the release has been finalized, the last step of the process is to
promote the release within the project and beyond.</p>
<h3 id="apache-mailing-lists">Apache mailing lists</h3>
<p>Announce on the dev@ mailing list that the release has been
finished.</p>
diff --git a/website/generated-content/contribute/release-guide/index.html
b/website/generated-content/contribute/release-guide/index.html
index 89ef99f..da81111 100644
--- a/website/generated-content/contribute/release-guide/index.html
+++ b/website/generated-content/contribute/release-guide/index.html
@@ -18,13 +18,13 @@
function addPlaceholder(){$('input:text').attr('placeholder',"What are you
looking for?");}
function endSearch(){var
search=document.querySelector(".searchBar");search.classList.add("disappear");var
icons=document.querySelector("#iconsBar");icons.classList.remove("disappear");}
function blockScroll(){$("body").toggleClass("fixedPosition");}
-function openMenu(){addPlaceholder();blockScroll();}</script><div
class="clearfix container-main-content"><div class="section-nav closed"
data-offset-top=90 data-offset-bottom=500><span class="section-nav-back
glyphicon glyphicon-menu-left"></span><nav><ul class=section-nav-list
data-section-nav><li><span
class=section-nav-list-main-title>Contribute</span></li><li><a
href=/contribute/>Get started contributing</a></li><li><a
href=/contribute/get-help/>Get Help</a></li><li><a href=/contrib [...]
+function openMenu(){addPlaceholder();blockScroll();}</script><div
class="clearfix container-main-content"><div class="section-nav closed"
data-offset-top=90 data-offset-bottom=500><span class="section-nav-back
glyphicon glyphicon-menu-left"></span><nav><ul class=section-nav-list
data-section-nav><li><span
class=section-nav-list-main-title>Contribute</span></li><li><a
href=/contribute/>Get started contributing</a></li><li><a
href=/contribute/get-help/>Get Help</a></li><li><a href=/contrib [...]
A release is one or more packages of the project artifact(s) that are approved
for general public distribution and use.
They may come with various degrees of caveat regarding their perceived quality
and potential for change, such as “alpha”, “beta”, “incubating”, “stable”,
etc.</p><p>The Beam community treats releases with great importance.
They are a public face of the project and most users interact with the project
only through the releases. Releases are signed off by the entire Beam community
in a public vote.</p><p>Each release is executed by a <em>Release Manager</em>,
who is selected among the Beam committers.
This document describes the process that the Release Manager follows to
perform a release.
Any changes to this process should be discussed and adopted on the <a
href=/get-started/support/>dev@ mailing list</a>.</p><p>Please remember that
publishing software has legal consequences.
-This guide complements the foundation-wide <a
href=http://www.apache.org/dev/release.html>Product Release Policy</a> and <a
href=http://www.apache.org/dev/release-distribution>Release Distribution
Policy</a>.</p><h3 id=overview>Overview</h3><img
src=/images/release-guide-1.png alt="Alt text" width=100%><p>The release
process consists of several steps:</p><ol><li>Decide to release</li><li>Prepare
for the release</li><li>Investigate performance regressions</li><li>Create a
release branch</ [...]
+This guide complements the foundation-wide <a
href=http://www.apache.org/dev/release.html>Product Release Policy</a> and <a
href=http://www.apache.org/dev/release-distribution>Release Distribution
Policy</a>.</p><h3 id=overview>Overview</h3><img
src=/images/release-guide-1.png alt="Alt text" width=100%><p>The release
process consists of several steps:</p><ol><li>Decide to release</li><li>Prepare
for the release</li><li>Update base image dependencies for Python container
images</li><li>In [...]
This is a consensus-based decision of the entire community.</p><p>Anybody can
propose a release on the dev@ mailing list, giving a solid argument and
nominating a committer as the Release Manager (including themselves).
There’s no formal process, no vote requirements, and no timing requirements.
Any objections should be resolved by consensus before starting the
release.</p><p>In general, the community prefers to have a rotating set of 3-5
Release Managers.
Keeping a small core set of managers allows enough people to build expertise
in this area and improve processes over time, without Release Managers needing
to re-learn the processes for each release.
@@ -75,10 +75,16 @@ For
example,</p><pre><code>"https://index.docker.io/v1/": {
</code></pre><p>Release managers should have push permission; request
membership in the <a
href=https://hub.docker.com/orgs/apache/teams/beammaintainers><code>beammaintainers</code>
team</a> by filing a JIRA with the Apache Infrastructure team, like <a
href=https://issues.apache.org/jira/browse/INFRA-20900>INFRA-20900</a>.</p><h3
id=create-a-new-version-in-jira>Create a new version in JIRA</h3><p>When
contributors resolve an issue in JIRA, they are tagging it with a release that
will con [...]
With the release currently underway, new issues should be resolved against a
subsequent future release.
Therefore, you should create a release item for this subsequent release, as
follows:</p><p><strong>Attention</strong>: Only PMC has permission to perform
this.
-If you are not a PMC, please ask for help in dev@ mailing list.</p><ol><li>In
JIRA, navigate to <a
href=https://issues.apache.org/jira/plugins/servlet/project-config/BEAM/versions><code>Beam
> Administration > Versions</code></a>.</li><li>Add a new release. Choose the
next minor version number after the version currently underway, select the
release cut date (today’s date) as the <code>Start Date</code>, and choose
<code>Add</code>.</li><li>At the end of the release, go to the same page [...]
+If you are not a PMC, please ask for help in dev@ mailing list.</p><ol><li>In
JIRA, navigate to <a
href=https://issues.apache.org/jira/plugins/servlet/project-config/BEAM/versions><code>Beam
> Administration > Versions</code></a>.</li><li>Add a new release. Choose the
next minor version number after the version currently underway, select the
release cut date (today’s date) as the <code>Start Date</code>, and choose
<code>Add</code>.</li><li>At the end of the release, go to the same page [...]
+<code>./gradlew :sdks:python:container:generatePythonRequirementsAll</code>
and commiting
+the changes. Exectution takes about ~5 min per Python version and is somewhat
resource-demanding.
+You can also regenerate the dependencies indiviually per version with targets
like <code>./gradlew
:sdks:python:container:py38:generatePythonRequirements</code>.</li></ol><p>Ideally,
do this at least a week before the release cut, so that any issues
+related to the update have time to surface.
+You will need Python intepreters for all versions supported by Beam, see:
+<a
href=https://s.apache.org/beam-python-dev-wiki>https://s.apache.org/beam-python-dev-wiki</a>
for tips how to install them.</p><h2
id=4-investigate-performance-regressions>4. Investigate performance
regressions</h2><p>Check the Beam load tests for possible performance
regressions.
Measurements are available on <a
href=http://metrics.beam.apache.org>metrics.beam.apache.org</a>.</p><p>All
Runners which publish data should be checked for the following, in both
<em>batch</em> and <em>streaming</em> mode:</p><ul><li><a
href=http://metrics.beam.apache.org/d/MOi-kf3Zk/pardo-load-tests>ParDo</a> and
<a href=http://metrics.beam.apache.org/d/UYZ-oJ3Zk/gbk-load-test>GBK</a>:
Runtime, latency, checkpoint duration</li><li><a
href=http://metrics.beam.apache.org/d/ahuaA_zGz/nexm [...]
The role of the release manager is to file JIRA issues for each regression
with the ‘Fix Version’ set to the to-be-released version.
-The release manager oversees these just like any other JIRA issue marked with
the ‘Fix Version’ of the release.</p><p>The mailing list should be
informed to allow fixing the regressions in the course of the release.</p><h2
id=4-create-a-release-branch-in-apachebeam-repository>4. Create a release
branch in apache/beam repository</h2><p>Attention: Only committer has
permission to create release branch in apache/beam.</p><p>Release candidates
are built from a release branch.
+The release manager oversees these just like any other JIRA issue marked with
the ‘Fix Version’ of the release.</p><p>The mailing list should be
informed to allow fixing the regressions in the course of the release.</p><h2
id=5-create-a-release-branch-in-apachebeam-repository>5. Create a release
branch in apache/beam repository</h2><p>Attention: Only committer has
permission to create release branch in apache/beam.</p><p>Release candidates
are built from a release branch.
As a final step in preparation for the release, you should create the release
branch, push it to the Apache code repository, and update version information
on the original branch.
The final state of the repository should match this diagram:</p><img
src=/images/cut-release-branch.png alt="Increment minor version on master
branch and set Dataflow container version on release branch" width=100%><p>The
key points to know:</p><ul><li>The <code>master</code> branch has the
SNAPSHOT/dev version incremented.</li><li>The release branch has the
SNAPSHOT/dev version to be released.</li><li>The Dataflow container image
should be modified to the version to be released.</li></u [...]
script.</p><p>After cutting the branch, you should manually update
<code>CHANGES.md</code> on <code>master</code> by adding a new section for the
next release.</p><h4 id=use-cut_release_branchsh-to-cut-a-release-branch>Use
cut_release_branch.sh to cut a release
branch</h4><ul><li><p><strong>Script:</strong> <a
href=https://github.com/apache/beam/blob/master/release/src/main/scripts/cut_release_branch.sh>cut_release_branch.sh</a></p></li><li><p><strong>Usage</strong></p><pre><code>#
Cut a [...]
@@ -91,7 +97,7 @@ script.</p><p>After cutting the branch, you should manually
update <code>CHANGES
</code></pre></li></ul><h3 id=start-a-snapshot-build>Start a snapshot
build</h3><p>Start a build of <a
href=https://ci-beam.apache.org/job/beam_Release_NightlySnapshot/>the nightly
snapshot</a> against master branch.
Some processes, including our archetype tests, rely on having a live SNAPSHOT
of the current version from the <code>master</code> branch.
Once the release branch is cut, these SNAPSHOT versions are no longer found,
so builds will be broken until a new snapshot is available.</p><p>There are 2
ways to trigger a nightly build, either using automation script(recommended),
or perform all operations manually.</p><h4
id=run-start_snapshot_buildsh-to-trigger-build>Run start_snapshot_build.sh to
trigger build</h4><ul><li><p><strong>Script:</strong> <a
href=https://github.com/apache/beam/blob/master/release/src/main/scripts/start_sn
[...]
-</code></pre></li><li><p><strong>The script will:</strong></p><ol><li>Install
<a href=https://github.com/github/hub>hub</a> with your
agreement.</li><li>Touch an empty txt file and commit changes into <code>${your
remote beam repo}/snapshot_build</code></li><li>Use hub to create a PR against
apache:master, which triggers a Jenkins job to build
snapshot.</li></ol></li><li><p>Tasks you need to do manually to <strong>verify
the SNAPSHOT build</strong></p><ol><li>Check whether the Jenkins jo [...]
+</code></pre></li><li><p><strong>The script will:</strong></p><ol><li>Install
<a href=https://github.com/github/hub>hub</a> with your
agreement.</li><li>Touch an empty txt file and commit changes into <code>${your
remote beam repo}/snapshot_build</code></li><li>Use hub to create a PR against
apache:master, which triggers a Jenkins job to build
snapshot.</li></ol></li><li><p>Tasks you need to do manually to <strong>verify
the SNAPSHOT build</strong></p><ol><li>Check whether the Jenkins jo [...]
There are 2 ways to perform this verification, either running automation
script(recommended), or running all commands manually.</p><p>! Dataflow tests
will fail if Dataflow worker container is not created and published by this
time. (Should be done by Google)</p><h4
id=run-automation-script-verify_release_buildsh>Run automation script
(verify_release_build.sh)</h4><ul><li><p><strong>Script:</strong> <a
href=https://github.com/apache/beam/blob/master/release/src/main/scripts/verify_releas
[...]
See instruction <a
href=https://help.github.com/en/articles/creating-a-personal-access-token-for-the-command-line>here</a>.
It’ll be used by the script for accessing Github API.
@@ -120,7 +126,7 @@ if you want build fails after the first error instead of
continuing, it may be e
to find environment issues this way without having to wait until the full
build completes.</p></li></ol></li></ul><h4
id=create-release-blocking-issues-in-jira>Create release-blocking issues in
JIRA</h4><p>The verify_release_build.sh script may include failing or flaky
tests.
For each of the failing tests create a JIRA with the following
properties:</p><ul><li><p><strong>Issue Type:</strong>
Bug</p></li><li><p><strong>Summary:</strong> Name of failing gradle task and
name of failing test (where applicable) in form of
:MyGradleProject:SomeGradleTask NameOfFailedTest: Short description of
failure</p></li><li><p><strong>Priority:</strong>
Major</p></li><li><p><strong>Component:</strong>
“test-failures”</p></li><li><p><strong>Fix Version:</strong> Rel
[...]
Alongside with this note, a list of pending issues and to-be-triaged issues
should be included.
-Afterwards, this list can be refined and updated by the release manager and
the Beam community.</p><hr><h2 id=6-triage-release-blocking-issues-in-jira>6.
Triage release-blocking issues in JIRA</h2><p>There could be outstanding
release-blocking issues, which should be triaged before proceeding to build a
release candidate.
+Afterwards, this list can be refined and updated by the release manager and
the Beam community.</p><hr><h2 id=7-triage-release-blocking-issues-in-jira>7.
Triage release-blocking issues in JIRA</h2><p>There could be outstanding
release-blocking issues, which should be triaged before proceeding to build a
release candidate.
We track them by assigning the blocked release to the issue’s <code>Fix
version</code> field before the issue is resolved.</p><p>The release manager
should triage what does and does not block a release.
The list of release-blocking issues is available at the <a
href="https://issues.apache.org/jira/browse/BEAM/?selectedTab=com.atlassian.jira.jira-projects-plugin:versions-panel">version
status page</a>.
Triage each unresolved issue with one of the following
resolutions:</p><ul><li>An issue should not block the release if the problem
exists in the current released version or is a bug in new functionality that
does not exist in the current released version.</li><li>An issue should be a
blocker if the problem is a regression between the currently released version
and the release in progress and has no easy workaround.</li></ul><p>For all
JIRA issues:</p><ul><li>If the issue has been resolv [...]
@@ -133,7 +139,7 @@ Make sure they have blocker JIRAs attached and are OK to
get into the release by
You are encouraged to ask the following questions to be answered on each
cherry-pick PR and you can choose to reject cherry-pick requests if these
questions are not satisfactorily answered:</p><ul><li>Is this a regression from
a previous release? (If no, fix could go to a newer version.)</li><li>Is this a
new feature or related to a new feature? (If yes, fix could go to a new
version.)</li><li>Would this impact production workloads for users? (E.g. if
this is a direct runner only fix it [...]
However, beyond that each cherry pick will increase the time required for the
release and add more last minute code to the release branch.
Neither late releases nor not fully tested code will provide positive user
value.</p><p><strong>Tip</strong>: Another tool in your toolbox is the known
issues section of the release blog.
-Consider adding known issues there for minor issues instead of accepting
cherry picks to the release branch.</p><hr><h2
id=7-build-a-release-candidate>7. Build a release candidate</h2><h3
id=checklist-before-proceeding>Checklist before proceeding</h3><ul><li>Release
Manager’s GPG key is published to <code>dist.apache.org</code>;</li><li>Release
Manager’s GPG key is configured in <code>git</code>
configuration;</li><li>Release Manager has <code>org.apache.beam</code> listed
under <code>St [...]
+Consider adding known issues there for minor issues instead of accepting
cherry picks to the release branch.</p><hr><h2
id=8-build-a-release-candidate>8. Build a release candidate</h2><h3
id=checklist-before-proceeding>Checklist before proceeding</h3><ul><li>Release
Manager’s GPG key is published to <code>dist.apache.org</code>;</li><li>Release
Manager’s GPG key is configured in <code>git</code>
configuration;</li><li>Release Manager has <code>org.apache.beam</code> listed
under <code>St [...]
Each cycle produces one release candidate.
The Release Manager repeats this cycle until the community approves one
release candidate, which is then finalized.</p><p>For this step, we recommend
you using automation script to create a RC, but you still can perform all steps
manually if you want.</p><h3 id=tag-a-chosen-commit-for-the-rc>Tag a chosen
commit for the RC</h3><p>Release candidates are built from single commits off
the release branch.
Before building, the version must be set to a non-SNAPSHOT, non-dev version.
@@ -162,7 +168,7 @@ Carefully review any new artifacts.</li></ol></li></ol><h3
id=upload-release-can
--rc "${RC_NUM}" \
--user "${GITHUB_USER}" \
--deploy
-</code></pre></li><li><p><strong>The script will:</strong></p><ol><li>Download
python binary artifacts</li><li>Deploy release candidate to
PyPI</li></ol></li></ul><p><strong>Attention:</strong> Verify
that:</p><ul><li>The File names version include <code>rc-#</code>
suffix</li><li><a href=https://pypi.org/project/apache-beam/#files>Download
Files</a> have:<ul><li>All wheels uploaded as artifacts</li><li>Release
source’s zip published</li><li>Signatures and hashes do not need to be
[...]
+</code></pre></li><li><p><strong>The script will:</strong></p><ol><li>Download
python binary artifacts</li><li>Deploy release candidate to
PyPI</li></ol></li></ul><p><strong>Attention:</strong> Verify
that:</p><ul><li>The File names version include <code>rc-#</code>
suffix</li><li><a href=https://pypi.org/project/apache-beam/#files>Download
Files</a> have:<ul><li>All wheels uploaded as artifacts</li><li>Release
source’s zip published</li><li>Signatures and hashes do not need to be
[...]
For Java and Python SDKs, that’s Javadoc and PyDoc, respectively.
The final step of building the candidate is to propose website pull requests
that update these manuals.</p><p>Merge the pull requests only after finalizing
the release.
To avoid invalid redirects for the ‘current’ version, merge these
PRs in the order listed.
@@ -222,7 +228,7 @@ According to git shortlog, the following people contributed
to the {$RELEASE_VER
${CONTRIBUTORS}
</code></pre><h4 id=checklist-to-proceed-to-the-next-step-1>Checklist to
proceed to the next step</h4><ol><li>Maven artifacts deployed to the staging
repository of <a
href=https://repository.apache.org/content/repositories/>repository.apache.org</a></li><li>Source
distribution deployed to the dev repository of <a
href=https://dist.apache.org/repos/dist/dev/beam/>dist.apache.org</a></li><li>Website
pull request proposed to list the <a href=/get-started/downloads/>release</a>,
publish the [...]
docker pull apache/beam_python3.5_sdk:2.16.0_rc1
-</code></pre><hr><h2 id=9-vote-and-validate-release-candidate>9. Vote and
validate release candidate</h2><p>Once you have built and individually reviewed
the release candidate, please share it for the community-wide review.
+</code></pre><hr><h2 id=10-vote-and-validate-release-candidate>10. Vote and
validate release candidate</h2><p>Once you have built and individually reviewed
the release candidate, please share it for the community-wide review.
Please review foundation-wide <a
href=http://www.apache.org/foundation/voting.html>voting guidelines</a> for
more information.</p><p>Start the review-and-vote thread on the dev@ mailing
list.
Here’s an email template; please adjust as you see fit.</p><pre><code>From:
Release Manager
To: [email protected]
@@ -387,7 +393,7 @@ There are XXX approving votes, XXX of which are binding:
There are no disapproving votes.
Thanks everyone!
-</code></pre><h3 id=checklist-to-proceed-to-the-next-step-2>Checklist to
proceed to the next step</h3><ol><li>Issues identified during vote have been
resolved, with fixes committed to the release branch.</li><li>All issues tagged
with <code>Fix-Version</code> for the current release should be
closed.</li><li>Community votes to release the proposed candidate, with at
least three approving PMC votes.</li></ol><hr><h2
id=10-finalize-the-release>10. Finalize the release</h2><p>Once the relea [...]
+</code></pre><h3 id=checklist-to-proceed-to-the-next-step-2>Checklist to
proceed to the next step</h3><ol><li>Issues identified during vote have been
resolved, with fixes committed to the release branch.</li><li>All issues tagged
with <code>Fix-Version</code> for the current release should be
closed.</li><li>Community votes to release the proposed candidate, with at
least three approving PMC votes.</li></ol><hr><h2
id=11-finalize-the-release>11. Finalize the release</h2><p>Once the relea [...]
This involves the final deployment of the release candidate to the release
repositories, merging of the website changes, etc.</p><h3
id=deploy-artifacts-to-maven-central-repository>Deploy artifacts to Maven
Central Repository</h3><p>Use the <a
href=https://repository.apache.org/#stagingRepositories>Apache Nexus repository
manager</a> to release the staged binary artifacts to the Maven Central
repository.
In the <code>Staging Repositories</code> section, find the relevant release
candidate <code>orgapachebeam-XXX</code> entry and click <code>Release</code>.
Drop all other release candidates that are not being
released.</p><p><strong>NOTE</strong>: If you are using <a
href=https://help.github.com/articles/securing-your-account-with-two-factor-authentication-2fa/>GitHub
two-factor authentication</a> and haven’t configure HTTPS access,
@@ -414,12 +420,12 @@ This should happen automatically: <a
href=https://lists.apache.org/thread.html/3
The release manager should also make sure to update these links on the website
(<a href=https://github.com/apache/beam/pull/11727>example</a>).</p><h4
id=mark-the-version-as-released-in-jira>Mark the version as released in
JIRA</h4><p>In JIRA, inside <a
href=https://issues.apache.org/jira/plugins/servlet/project-config/BEAM/versions>version
management</a>, hover over the current release and a settings menu will appear.
Click <code>Release</code>, and select today’s date.</p><h4
id=recordkeeping-with-asf>Recordkeeping with ASF</h4><p>Use <a
href=https://reporter.apache.org/addrelease.html?beam>reporter.apache.org</a>
to seed the information about the release into future project reports.</p><h3
id=checklist-to-proceed-to-the-next-step-3>Checklist to proceed to the next
step</h3><ul><li>Maven artifacts released and indexed in the <a
href=https://search.maven.org/#search%7Cga%7C1%7Cg%3A%22org.apache.beam%2 [...]
(Note: Not all committers have administrator access to JIRA.
-If you end up getting permissions errors ask on the mailing list for
assistance.)</li><li>Release version is listed at
reporter.apache.org</li></ul><hr><h2 id=11-promote-the-release>11. Promote the
release</h2><p>Once the release has been finalized, the last step of the
process is to promote the release within the project and beyond.</p><h3
id=apache-mailing-lists>Apache mailing lists</h3><p>Announce on the dev@
mailing list that the release has been finished.</p><p>Announce on the relea
[...]
+If you end up getting permissions errors ask on the mailing list for
assistance.)</li><li>Release version is listed at
reporter.apache.org</li></ul><hr><h2 id=12-promote-the-release>12. Promote the
release</h2><p>Once the release has been finalized, the last step of the
process is to promote the release within the project and beyond.</p><h3
id=apache-mailing-lists>Apache mailing lists</h3><p>Announce on the dev@
mailing list that the release has been finished.</p><p>Announce on the relea
[...]
<strong>NOTE</strong>: This can only be done from <code>@apache.org</code>
email address. This email has to be in plain text (no HTML tags).</p><h3
id=social-media>Social media</h3><p>Tweet, post on Facebook, LinkedIn, and
other platforms.
Ask other contributors to do the same.</p><p>Also, update <a
href=https://en.wikipedia.org/wiki/Apache_Beam>the Wikipedia article on Apache
Beam</a>.</p><h3 id=checklist-to-declare-the-process-completed>Checklist to
declare the process completed</h3><ol><li>Release announced on the user@
mailing list.</li><li>Blog post published, if applicable.</li><li>Release
recorded in reporter.apache.org.</li><li>Release announced on social
media.</li><li>Completion declared on the dev@ mailing list. [...]
Once you’ve finished the release, please take a step back and look what areas
of this process and be improved. Perhaps some part of the process can be
simplified.
Perhaps parts of this guide can be clarified.</p><p>If we have specific ideas,
please start a discussion on the dev@ mailing list and/or propose a pull
request to update this guide.
-Thanks!</p><div class=feedback><p class=update>Last updated on
2021/11/03</p><h3>Have you found everything you were looking for?</h3><p
class=description>Was it all useful and clear? Is there anything that you would
like to change? Let us know!</p><button class=load-button><a
href="mailto:[email protected]?subject=Beam Website Feedback">SEND
FEEDBACK</a></button></div></div></div><footer class=footer><div
class=footer__contained><div class=footer__cols><div class="footer__cols__col
foo [...]
+Thanks!</p><div class=feedback><p class=update>Last updated on
2021/11/16</p><h3>Have you found everything you were looking for?</h3><p
class=description>Was it all useful and clear? Is there anything that you would
like to change? Let us know!</p><button class=load-button><a
href="mailto:[email protected]?subject=Beam Website Feedback">SEND
FEEDBACK</a></button></div></div></div><footer class=footer><div
class=footer__contained><div class=footer__cols><div class="footer__cols__col
foo [...]
<a href=http://www.apache.org>The Apache Software Foundation</a>
| <a href=/privacy_policy>Privacy Policy</a>
| <a href=/feed.xml>RSS Feed</a><br><br>Apache Beam, Apache, Beam, the Beam
logo, and the Apache feather logo are either registered trademarks or
trademarks of The Apache Software Foundation. All other products or name brands
are trademarks of their respective holders, including The Apache Software
Foundation.</div></div></div></div></footer></body></html>
\ No newline at end of file
diff --git a/website/generated-content/documentation/index.xml
b/website/generated-content/documentation/index.xml
index bfc9450..9d19cf0 100644
--- a/website/generated-content/documentation/index.xml
+++ b/website/generated-content/documentation/index.xml
@@ -9711,7 +9711,7 @@ be used for custom filters.</p>
<img src="/images/copy-icon.svg"/>
</a>
<div class="highlight"><pre class="chroma"><code class="language-go"
data-lang="go"><span class="kd">func</span> <span
class="nf">queryMetrics</span><span class="p">(</span><span
class="nx">pr</span> <span class="nx">beam</span><span
class="p">.</span><span class="nx">PipelineResult</span><span
class="p">,</span> <span class="nx">ns</span><span
class="p">,</span> <span class="nx">n</span> <span class="kt">strin
[...]
-<span class="k">return</span> <span class="nx">pr</span><span
class="p">.</span><span class="nf">Metrics</span><span
class="p">().</span><span class="nf">Query</span><span
class="p">(</span><span class="kd">func</span><span
class="p">(</span><span class="nx">r</span> <span
class="nx">metrics</span><span class="p">.</span><span
class="nx">SingleResult</span><span class="p">)</span> <span
class="kt">bool [...]
+<span class="k">return</span> <span class="nx">pr</span><span
class="p">.</span><span class="nf">Metrics</span><span
class="p">().</span><span class="nf">Query</span><span
class="p">(</span><span class="kd">func</span><span
class="p">(</span><span class="nx">r</span> <span
class="nx">beam</span><span class="p">.</span><span
class="nx">MetricResult</span><span class="p">)</span> <span
class="kt">bool< [...]
<span class="k">return</span> <span class="nx">r</span><span
class="p">.</span><span class="nf">Namespace</span><span
class="p">()</span> <span class="o">==</span> <span
class="nx">ns</span> <span class="o">&amp;&amp;</span>
<span class="nx">r</span><span class="p">.</span><span
class="nf">Name</span><span class="p">()</span> <span
class="o">==</span> <span class="nx">n</span>
<span class="p">})</span>
<span class="p">}</span></code></pre></div>
@@ -9767,7 +9767,7 @@ be used for custom filters.</p>
<span class="k">return</span> <span
class="nx">metrics</span><span class="p">.</span><span
class="nx">QueryResults</span><span class="p">{},</span> <span
class="nx">err</span>
<span class="p">}</span>
<span class="c1">// Request the metric called &#34;counter1&#34; in
namespace called &#34;namespace&#34;
-</span><span class="c1"></span> <span class="nx">ms</span>
<span class="o">:=</span> <span class="nx">pr</span><span
class="p">.</span><span class="nf">Metrics</span><span
class="p">().</span><span class="nf">Query</span><span
class="p">(</span><span class="kd">func</span><span
class="p">(</span><span class="nx">r</span> <span
class="nx">metrics</span><span class="p">.</span><span
class="nx">SingleR [...]
+</span><span class="c1"></span> <span class="nx">ms</span>
<span class="o">:=</span> <span class="nx">pr</span><span
class="p">.</span><span class="nf">Metrics</span><span
class="p">().</span><span class="nf">Query</span><span
class="p">(</span><span class="kd">func</span><span
class="p">(</span><span class="nx">r</span> <span
class="nx">beam</span><span class="p">.</span><span
class="nx">MetricResu [...]
<span class="k">return</span> <span class="nx">r</span><span
class="p">.</span><span class="nf">Namespace</span><span
class="p">()</span> <span class="o">==</span> <span
class="s">&#34;namespace&#34;</span> <span
class="o">&amp;&amp;</span> <span class="nx">r</span><span
class="p">.</span><span class="nf">Name</span><span
class="p">()</span> <span class="o">==</span> <span
class="s">&#34; [...]
<span class="p">})</span>
<span class="c1">// Print the metric value - there should be only one line
because there is
diff --git
a/website/generated-content/documentation/programming-guide/index.html
b/website/generated-content/documentation/programming-guide/index.html
index 44f84a5..620a270 100644
--- a/website/generated-content/documentation/programming-guide/index.html
+++ b/website/generated-content/documentation/programming-guide/index.html
@@ -3009,7 +3009,7 @@ be used for custom filters.</p><div class="language-java
snippet"><div class="no
<span class=n>T</span> <span class=nf>getCommitted</span><span
class=o>();</span>
<span class=n>T</span> <span class=nf>getAttempted</span><span
class=o>();</span>
<span class=o>}</span></code></pre></div></div></div><div class="language-go
snippet"><div class="notebook-skip code-snippet"><a class=copy type=button
data-bs-toggle=tooltip data-bs-placement=bottom title="Copy to clipboard"><img
src=/images/copy-icon.svg></a><div class=highlight><pre class=chroma><code
class=language-go data-lang=go><span class=kd>func</span> <span
class=nf>queryMetrics</span><span class=p>(</span><span class=nx>pr</span>
<span class=nx>beam</span><span class=p>.</span [...]
- <span class=k>return</span> <span class=nx>pr</span><span
class=p>.</span><span class=nf>Metrics</span><span class=p>().</span><span
class=nf>Query</span><span class=p>(</span><span class=kd>func</span><span
class=p>(</span><span class=nx>r</span> <span class=nx>metrics</span><span
class=p>.</span><span class=nx>SingleResult</span><span class=p>)</span> <span
class=kt>bool</span> <span class=p>{</span>
+ <span class=k>return</span> <span class=nx>pr</span><span
class=p>.</span><span class=nf>Metrics</span><span class=p>().</span><span
class=nf>Query</span><span class=p>(</span><span class=kd>func</span><span
class=p>(</span><span class=nx>r</span> <span class=nx>beam</span><span
class=p>.</span><span class=nx>MetricResult</span><span class=p>)</span> <span
class=kt>bool</span> <span class=p>{</span>
<span class=k>return</span> <span class=nx>r</span><span
class=p>.</span><span class=nf>Namespace</span><span class=p>()</span> <span
class=o>==</span> <span class=nx>ns</span> <span class=o>&&</span>
<span class=nx>r</span><span class=p>.</span><span class=nf>Name</span><span
class=p>()</span> <span class=o>==</span> <span class=nx>n</span>
<span class=p>})</span>
<span class=p>}</span></code></pre></div></div></div><h3
id=using-metrics>10.4. Using metrics in pipeline</h3><p>Below, there is a
simple example of how to use a <code>Counter</code> metric in a user
pipeline.</p><div class="language-java snippet"><div class="notebook-skip
code-snippet"><a class=copy type=button data-bs-toggle=tooltip
data-bs-placement=bottom title="Copy to clipboard"><img
src=/images/copy-icon.svg></a><div class=highlight><pre class=chroma><code
class=language-java data [...]
@@ -3054,7 +3054,7 @@ be used for custom filters.</p><div class="language-java
snippet"><div class="no
<span class=p>}</span>
<span class=c1>// Request the metric called "counter1" in
namespace called "namespace"
-</span><span class=c1></span> <span class=nx>ms</span> <span
class=o>:=</span> <span class=nx>pr</span><span class=p>.</span><span
class=nf>Metrics</span><span class=p>().</span><span class=nf>Query</span><span
class=p>(</span><span class=kd>func</span><span class=p>(</span><span
class=nx>r</span> <span class=nx>metrics</span><span class=p>.</span><span
class=nx>SingleResult</span><span class=p>)</span> <span class=kt>bool</span>
<span class=p>{</span>
+</span><span class=c1></span> <span class=nx>ms</span> <span
class=o>:=</span> <span class=nx>pr</span><span class=p>.</span><span
class=nf>Metrics</span><span class=p>().</span><span class=nf>Query</span><span
class=p>(</span><span class=kd>func</span><span class=p>(</span><span
class=nx>r</span> <span class=nx>beam</span><span class=p>.</span><span
class=nx>MetricResult</span><span class=p>)</span> <span class=kt>bool</span>
<span class=p>{</span>
<span class=k>return</span> <span class=nx>r</span><span
class=p>.</span><span class=nf>Namespace</span><span class=p>()</span> <span
class=o>==</span> <span class=s>"namespace"</span> <span
class=o>&&</span> <span class=nx>r</span><span class=p>.</span><span
class=nf>Name</span><span class=p>()</span> <span class=o>==</span> <span
class=s>"counter1"</span>
<span class=p>})</span>
diff --git a/website/generated-content/get-started/index.xml
b/website/generated-content/get-started/index.xml
index 5319dec..8b3d5ac 100644
--- a/website/generated-content/get-started/index.xml
+++ b/website/generated-content/get-started/index.xml
@@ -1050,7 +1050,7 @@ limitations under the License.
<a class="copy" type="button" data-bs-toggle="tooltip"
data-bs-placement="bottom" title="Copy to clipboard">
<img src="/images/copy-icon.svg"/>
</a>
-<pre><code>$ go get -u
github.com/apache/beam/sdks/go/...</code></pre>
+<pre><code>$ go get -u
github.com/apache/beam/sdks/v2/go/pkg/beam</code></pre>
</div>
</div>
<p>For development of the Go SDK itself, see <a
href="https://github.com/apache/beam/blob/master/sdks/go/BUILD.md">BUILD.md</a>
for details.</p>
@@ -1094,7 +1094,7 @@ $ wordcount --input
gs://dataflow-samples/shakespeare/kinglear.txt \
</a>
<pre><code class="language-spark" data-lang="spark"># Build and run the
Spark job server from Beam source.
# -PsparkMasterUrl is optional. If it is unset the job will be run inside an
embedded Spark cluster.
-$ ./gradlew :runners:spark:2:job-server:runShadow
-PsparkMasterUrl=spark://localhost:7077
+$ ./gradlew :runners:spark:3:job-server:runShadow
-PsparkMasterUrl=spark://localhost:7077
# In a separate terminal, run:
$ go install github.com/apache/beam/sdks/go/examples/wordcount
$ wordcount --input &lt;PATH_TO_INPUT_FILE&gt; \
diff --git a/website/generated-content/get-started/quickstart-go/index.html
b/website/generated-content/get-started/quickstart-go/index.html
index 2d3cd2a..0979bdd 100644
--- a/website/generated-content/get-started/quickstart-go/index.html
+++ b/website/generated-content/get-started/quickstart-go/index.html
@@ -18,7 +18,7 @@
function addPlaceholder(){$('input:text').attr('placeholder',"What are you
looking for?");}
function endSearch(){var
search=document.querySelector(".searchBar");search.classList.add("disappear");var
icons=document.querySelector("#iconsBar");icons.classList.remove("disappear");}
function blockScroll(){$("body").toggleClass("fixedPosition");}
-function openMenu(){addPlaceholder();blockScroll();}</script><div
class="clearfix container-main-content"><div class="section-nav closed"
data-offset-top=90 data-offset-bottom=500><span class="section-nav-back
glyphicon glyphicon-menu-left"></span><nav><ul class=section-nav-list
data-section-nav><li><span class=section-nav-list-main-title>Get
started</span></li><li><a href=/get-started/beam-overview/>Beam
Overview</a></li><li><a href=/get-started/tour-of-beam/>Tour of
Beam</a></li><li><s [...]
+function openMenu(){addPlaceholder();blockScroll();}</script><div
class="clearfix container-main-content"><div class="section-nav closed"
data-offset-top=90 data-offset-bottom=500><span class="section-nav-back
glyphicon glyphicon-menu-left"></span><nav><ul class=section-nav-list
data-section-nav><li><span class=section-nav-list-main-title>Get
started</span></li><li><a href=/get-started/beam-overview/>Beam
Overview</a></li><li><a href=/get-started/tour-of-beam/>Tour of
Beam</a></li><li><s [...]
<a
href=https://github.com/apache/beam/tree/master/sdks/go/examples>examples</a>
directory has many examples. All examples can be run by passing the
required arguments described in the examples.</p><p>For example, to run
<code>wordcount</code>, run:</p><div class="runner-direct snippet"><div
class="notebook-skip code-snippet"><a class=copy type=button
data-bs-toggle=tooltip data-bs-placement=bottom title="Copy to clipboard"><img
src=/images/copy-icon.svg></a><pre><code class=language-direct
data-lang=direct>$ go install github.com/apache/beam/sdks/go/examples/wordcount
@@ -34,7 +34,7 @@ $ wordcount --input
gs://dataflow-samples/shakespeare/kinglear.txt \
--staging_location gs://<your-gcs-bucket>/binaries/ \
--worker_harness_container_image=apache/beam_go_sdk:latest</code></pre></div></div><div
class="runner-spark snippet"><div class="notebook-skip code-snippet"><a
class=copy type=button data-bs-toggle=tooltip data-bs-placement=bottom
title="Copy to clipboard"><img src=/images/copy-icon.svg></a><pre><code
class=language-spark data-lang=spark># Build and run the Spark job server from
Beam source.
# -PsparkMasterUrl is optional. If it is unset the job will be run inside an
embedded Spark cluster.
-$ ./gradlew :runners:spark:2:job-server:runShadow
-PsparkMasterUrl=spark://localhost:7077
+$ ./gradlew :runners:spark:3:job-server:runShadow
-PsparkMasterUrl=spark://localhost:7077
# In a separate terminal, run:
$ go install github.com/apache/beam/sdks/go/examples/wordcount
@@ -42,7 +42,7 @@ $ wordcount --input <PATH_TO_INPUT_FILE> \
--output counts \
--runner spark \
--endpoint localhost:8099</code></pre></div></div><h2
id=next-steps>Next Steps</h2><ul><li>Learn more about the <a
href=/documentation/sdks/go/>Beam SDK for Go</a>
-and look through the <a
href=https://pkg.go.dev/github.com/apache/beam/sdks/go/pkg/beam>godoc</a>.</li><li>Walk
through these WordCount examples in the <a
href=/get-started/wordcount-example>WordCount Example
Walkthrough</a>.</li><li>Take a self-paced tour through our <a
href=/documentation/resources/learning-resources>Learning
Resources</a>.</li><li>Dive in to some of our favorite <a
href=/documentation/resources/videos-and-podcasts>Videos and
Podcasts</a>.</li><li>Join the Beam <a href [...]
+and look through the <a
href=https://pkg.go.dev/github.com/apache/beam/sdks/go/pkg/beam>godoc</a>.</li><li>Walk
through these WordCount examples in the <a
href=/get-started/wordcount-example>WordCount Example
Walkthrough</a>.</li><li>Take a self-paced tour through our <a
href=/documentation/resources/learning-resources>Learning
Resources</a>.</li><li>Dive in to some of our favorite <a
href=/documentation/resources/videos-and-podcasts>Videos and
Podcasts</a>.</li><li>Join the Beam <a href [...]
<a href=http://www.apache.org>The Apache Software Foundation</a>
| <a href=/privacy_policy>Privacy Policy</a>
| <a href=/feed.xml>RSS Feed</a><br><br>Apache Beam, Apache, Beam, the Beam
logo, and the Apache feather logo are either registered trademarks or
trademarks of The Apache Software Foundation. All other products or name brands
are trademarks of their respective holders, including The Apache Software
Foundation.</div></div></div></div></footer></body></html>
\ No newline at end of file
diff --git a/website/generated-content/sitemap.xml
b/website/generated-content/sitemap.xml
index 293aee1..0b82386 100644
--- a/website/generated-content/sitemap.xml
+++ b/website/generated-content/sitemap.xml
@@ -1 +1 @@
-<?xml version="1.0" encoding="utf-8" standalone="yes"?><urlset
xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"
xmlns:xhtml="http://www.w3.org/1999/xhtml"><url><loc>/blog/beam-2.34.0/</loc><lastmod>2021-11-11T11:07:06-08:00</lastmod></url><url><loc>/categories/blog/</loc><lastmod>2021-11-11T11:07:06-08:00</lastmod></url><url><loc>/blog/</loc><lastmod>2021-11-11T11:07:06-08:00</lastmod></url><url><loc>/categories/</loc><lastmod>2021-11-11T11:07:06-08:00</lastmod></url><url><loc>/blog/g
[...]
\ No newline at end of file
+<?xml version="1.0" encoding="utf-8" standalone="yes"?><urlset
xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"
xmlns:xhtml="http://www.w3.org/1999/xhtml"><url><loc>/blog/beam-2.34.0/</loc><lastmod>2021-11-11T11:07:06-08:00</lastmod></url><url><loc>/categories/blog/</loc><lastmod>2021-11-11T11:07:06-08:00</lastmod></url><url><loc>/blog/</loc><lastmod>2021-11-11T11:07:06-08:00</lastmod></url><url><loc>/categories/</loc><lastmod>2021-11-11T11:07:06-08:00</lastmod></url><url><loc>/blog/g
[...]
\ No newline at end of file