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 0eabd6b0ee2 Publishing website 2023/08/31 22:15:53 at commit 3ff66d3 0eabd6b0ee2 is described below commit 0eabd6b0ee2279b6be2cc881bf6e57de13d79a45 Author: jenkins <bui...@apache.org> AuthorDate: Thu Aug 31 22:15:53 2023 +0000 Publishing website 2023/08/31 22:15:53 at commit 3ff66d3 --- website/generated-content/documentation/index.xml | 14 ++++++++++---- .../documentation/programming-guide/index.html | 7 ++++--- .../documentation/runtime/environments/index.html | 8 ++++++-- website/generated-content/sitemap.xml | 2 +- 4 files changed, 21 insertions(+), 10 deletions(-) diff --git a/website/generated-content/documentation/index.xml b/website/generated-content/documentation/index.xml index d09db2e7700..9e6b8eaebf0 100644 --- a/website/generated-content/documentation/index.xml +++ b/website/generated-content/documentation/index.xml @@ -14093,17 +14093,18 @@ resource utilization.</p> </a> <div class="highlight"><pre tabindex="0" class="chroma"><code class="language-java" data-lang="java"><span class="line"><span class="cl"><span class="nd">@ProcessElement</span> </span></span><span class="line"><span class="cl"><span class="kd">public</span> <span class="n">ProcessContinuation</span> <span class="nf">processElement</span><span class="o">(</span> -</span></span><span class="line"><span class="cl"> <span class="n">RestrictionTracker</span><span class="o">&lt;</span><span class="n">OffsetRange</span><span class="o">,</span> <span class="n">Long</span><span class="o">&gt;</span> <span class="n">tracker</span><span class="o">,</span> <span class="n">OutputReceiver</span><span class="o">&lt;</span><span class="n">Record</span><span class="o">&a [...] +</span></span><span class="line"><span class="cl"> <span class="n">RestrictionTracker</span><span class="o">&lt;</span><span class="n">OffsetRange</span><span class="o">,</span> <span class="n">Long</span><span class="o">&gt;</span> <span class="n">tracker</span><span class="o">,</span> +</span></span><span class="line"><span class="cl"> <span class="n">OutputReceiver</span><span class="o">&lt;</span><span class="n">RecordPosition</span><span class="o">&gt;</span> <span class="n">outputReceiver</span><span class="o">)</span> <span class="o">{</span> </span></span><span class="line"><span class="cl"> <span class="kt">long</span> <span class="n">currentPosition</span> <span class="o">=</span> <span class="n">tracker</span><span class="o">.</span><span class="na">currentRestriction</span><span class="o">().</span><span class="na">getFrom</span><span class="o">();</span> </span></span><span class="line"><span class="cl"> <span class="n">Service</span> <span class="n">service</span> <span class="o">=</span> <span class="n">initializeService</span><span class="o">();</span> </span></span><span class="line"><span class="cl"> <span class="k">try</span> <span class="o">{</span> </span></span><span class="line"><span class="cl"> <span class="k">while</span> <span class="o">(</span><span class="kc">true</span><span class="o">)</span> <span class="o">{</span> -</span></span><span class="line"><span class="cl"> <span class="n">List</span><span class="o">&lt;</span><span class="n">Record</span><span class="o">&gt;</span> <span class="n">records</span> <span class="o">=</span> <span class="n">service</span><span class="o">.</span><span class="na">readNextRecords</span><span class="o">(</span><span class="n">currentPosition</span><span class="o">);</span> +</span></span><span class="line"><span class="cl"> <span class="n">List</span><span class="o">&lt;</span><span class="n">RecordPosition</span><span class="o">&gt;</span> <span class="n">records</span> <span class="o">=</span> <span class="n">service</span><span class="o">.</span><span class="na">readNextRecords</span><span class="o">(</span><span class="n">currentPosition</span><span class="o">);</span> </span></span><span class="line"><span class="cl"> <span class="k">if</span> <span class="o">(</span><span class="n">records</span><span class="o">.</span><span class="na">isEmpty</span><span class="o">())</span> <span class="o">{</span> </span></span><span class="line"><span class="cl"> <span class="c1">// Return a short delay if there is no data to process at the moment. </span></span></span><span class="line"><span class="cl"><span class="c1"></span> <span class="k">return</span> <span class="n">ProcessContinuation</span><span class="o">.</span><span class="na">resume</span><span class="o">().</span><span class="na">withResumeDelay</span><span class="o">(</span><span class="n">Duration</span><span class="o">.</span><span class="na">standardSeconds</span><span class="o">( [...] </span></span><span class="line"><span class="cl"> <span class="o">}</span> -</span></span><span class="line"><span class="cl"> <span class="k">for</span> <span class="o">(</span><span class="n">Record</span> <span class="n">record</span> <span class="o">:</span> <span class="n">records</span><span class="o">)</span> <span class="o">{</span> +</span></span><span class="line"><span class="cl"> <span class="k">for</span> <span class="o">(</span><span class="n">RecordPosition</span> <span class="n">record</span> <span class="o">:</span> <span class="n">records</span><span class="o">)</span> <span class="o">{</span> </span></span><span class="line"><span class="cl"> <span class="k">if</span> <span class="o">(!</span><span class="n">tracker</span><span class="o">.</span><span class="na">tryClaim</span><span class="o">(</span><span class="n">record</span><span class="o">.</span><span class="na">getPosition</span><span class="o">()))</span> <span class="o">{</span> </span></span><span class="line"><span class="cl"> <span class="k">return</span> <span class="n">ProcessContinuation</span><span class="o">.</span><span class="na">stop</span><span class="o">();</span> </span></span><span class="line"><span class="cl"> <span class="o">}</span> @@ -17076,7 +17077,8 @@ COPY /src/path/to/file /dest/path/to/file/ </ol> <pre tabindex="0"><code>export BASE_IMAGE=&#34;apache/beam_python3.7_sdk:2.25.0&#34; export IMAGE_NAME=&#34;myremoterepo/mybeamsdk&#34; -export TAG=&#34;latest&#34; +# Avoid using `latest` with custom containers to make reproducing failures easier. +export TAG=&#34;mybeamsdk-versioned-tag&#34; # Optional - pull the base image into your local Docker daemon to ensure # you have the most up-to-date version of the base image locally. docker pull &#34;${BASE_IMAGE}&#34; @@ -17280,6 +17282,10 @@ python -m apache_beam.examples.wordcount \ --sdk_container_image=$IMAGE_URL</code></pre> </div> </div> +<p>Avoid using the tag <code>:latest</code> with your custom images. Tag your builds with a date +or a unique identifier. If something goes wrong, using this type of tag might make +it possible to revert the pipeline execution to a previously known working +configuration and allow for an inspection of changes.</p> <h3 id="troubleshooting">Troubleshooting</h3> <p>The following section describes some common issues to consider when you encounter unexpected errors running Beam pipelines with diff --git a/website/generated-content/documentation/programming-guide/index.html b/website/generated-content/documentation/programming-guide/index.html index f486e4d83ab..d3eced0d269 100644 --- a/website/generated-content/documentation/programming-guide/index.html +++ b/website/generated-content/documentation/programming-guide/index.html @@ -4899,17 +4899,18 @@ signal can suggest a time to resume at. While the runner tries to honor the resu guaranteed. This allows execution to continue on a restriction that has available work improving resource utilization.</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 tabindex=0 class=chroma><code class=language-java data-lang=java><span class=line><span class=cl><span class=nd>@ProcessElement</span> </span></span><span class=line><span class=cl><span class=kd>public</span> <span class=n>ProcessContinuation</span> <span class=nf>processElement</span><span class=o>(</span> -</span></span><span class=line><span class=cl> <span class=n>RestrictionTracker</span><span class=o><</span><span class=n>OffsetRange</span><span class=o>,</span> <span class=n>Long</span><span class=o>></span> <span class=n>tracker</span><span class=o>,</span> <span class=n>OutputReceiver</span><span class=o><</span><span class=n>Record</span><span class=o>></span> <span class=n>outputReceiver</span><span class=o>)</span> <span class=o>{</span> +</span></span><span class=line><span class=cl> <span class=n>RestrictionTracker</span><span class=o><</span><span class=n>OffsetRange</span><span class=o>,</span> <span class=n>Long</span><span class=o>></span> <span class=n>tracker</span><span class=o>,</span> +</span></span><span class=line><span class=cl> <span class=n>OutputReceiver</span><span class=o><</span><span class=n>RecordPosition</span><span class=o>></span> <span class=n>outputReceiver</span><span class=o>)</span> <span class=o>{</span> </span></span><span class=line><span class=cl> <span class=kt>long</span> <span class=n>currentPosition</span> <span class=o>=</span> <span class=n>tracker</span><span class=o>.</span><span class=na>currentRestriction</span><span class=o>().</span><span class=na>getFrom</span><span class=o>();</span> </span></span><span class=line><span class=cl> <span class=n>Service</span> <span class=n>service</span> <span class=o>=</span> <span class=n>initializeService</span><span class=o>();</span> </span></span><span class=line><span class=cl> <span class=k>try</span> <span class=o>{</span> </span></span><span class=line><span class=cl> <span class=k>while</span> <span class=o>(</span><span class=kc>true</span><span class=o>)</span> <span class=o>{</span> -</span></span><span class=line><span class=cl> <span class=n>List</span><span class=o><</span><span class=n>Record</span><span class=o>></span> <span class=n>records</span> <span class=o>=</span> <span class=n>service</span><span class=o>.</span><span class=na>readNextRecords</span><span class=o>(</span><span class=n>currentPosition</span><span class=o>);</span> +</span></span><span class=line><span class=cl> <span class=n>List</span><span class=o><</span><span class=n>RecordPosition</span><span class=o>></span> <span class=n>records</span> <span class=o>=</span> <span class=n>service</span><span class=o>.</span><span class=na>readNextRecords</span><span class=o>(</span><span class=n>currentPosition</span><span class=o>);</span> </span></span><span class=line><span class=cl> <span class=k>if</span> <span class=o>(</span><span class=n>records</span><span class=o>.</span><span class=na>isEmpty</span><span class=o>())</span> <span class=o>{</span> </span></span><span class=line><span class=cl> <span class=c1>// Return a short delay if there is no data to process at the moment. </span></span></span><span class=line><span class=cl><span class=c1></span> <span class=k>return</span> <span class=n>ProcessContinuation</span><span class=o>.</span><span class=na>resume</span><span class=o>().</span><span class=na>withResumeDelay</span><span class=o>(</span><span class=n>Duration</span><span class=o>.</span><span class=na>standardSeconds</span><span class=o>(</span><span class=n>10</span><span class=o>));</span> </span></span><span class=line><span class=cl> <span class=o>}</span> -</span></span><span class=line><span class=cl> <span class=k>for</span> <span class=o>(</span><span class=n>Record</span> <span class=n>record</span> <span class=o>:</span> <span class=n>records</span><span class=o>)</span> <span class=o>{</span> +</span></span><span class=line><span class=cl> <span class=k>for</span> <span class=o>(</span><span class=n>RecordPosition</span> <span class=n>record</span> <span class=o>:</span> <span class=n>records</span><span class=o>)</span> <span class=o>{</span> </span></span><span class=line><span class=cl> <span class=k>if</span> <span class=o>(!</span><span class=n>tracker</span><span class=o>.</span><span class=na>tryClaim</span><span class=o>(</span><span class=n>record</span><span class=o>.</span><span class=na>getPosition</span><span class=o>()))</span> <span class=o>{</span> </span></span><span class=line><span class=cl> <span class=k>return</span> <span class=n>ProcessContinuation</span><span class=o>.</span><span class=na>stop</span><span class=o>();</span> </span></span><span class=line><span class=cl> <span class=o>}</span> diff --git a/website/generated-content/documentation/runtime/environments/index.html b/website/generated-content/documentation/runtime/environments/index.html index 4a6c5bfe7cb..e85e7df4fe0 100644 --- a/website/generated-content/documentation/runtime/environments/index.html +++ b/website/generated-content/documentation/runtime/environments/index.html @@ -42,7 +42,8 @@ ENV FOO=bar COPY /src/path/to/file /dest/path/to/file/ </code></pre><p>This <code>Dockerfile</code> uses the prebuilt Python 3.7 SDK container image <a href=https://hub.docker.com/r/apache/beam_python3.7_sdk><code>beam_python3.7_sdk</code></a> tagged at (SDK version) <code>2.25.0</code>, and adds an additional environment variable and file to the image.</p><ol start=2><li><a href=https://docs.docker.com/engine/reference/commandline/build/>Build</a> and <a href=https://docs.docker.com/engine/reference/commandline/push/>push</a> the image usin [...] export IMAGE_NAME="myremoterepo/mybeamsdk" -export TAG="latest" +# Avoid using `latest` with custom containers to make reproducing failures easier. +export TAG="mybeamsdk-versioned-tag" # Optional - pull the base image into your local Docker daemon to ensure # you have the most up-to-date version of the base image locally. @@ -175,7 +176,10 @@ python -m apache_beam.examples.wordcount \ --region $REGION \ --temp_location "${GCS_PATH}/tmp/" \ --experiment=use_runner_v2 \ - --sdk_container_image=$IMAGE_URL</code></pre></div></div><h3 id=troubleshooting>Troubleshooting</h3><p>The following section describes some common issues to consider + --sdk_container_image=$IMAGE_URL</code></pre></div></div><p>Avoid using the tag <code>:latest</code> with your custom images. Tag your builds with a date +or a unique identifier. If something goes wrong, using this type of tag might make +it possible to revert the pipeline execution to a previously known working +configuration and allow for an inspection of changes.</p><h3 id=troubleshooting>Troubleshooting</h3><p>The following section describes some common issues to consider when you encounter unexpected errors running Beam pipelines with custom containers.</p><ul><li>Differences in language and SDK version between the container SDK and pipeline SDK may result in unexpected errors due to incompatibility. For best diff --git a/website/generated-content/sitemap.xml b/website/generated-content/sitemap.xml index 281b11b1a0b..14f9d179d96 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.50.0/</loc><lastmod>2023-08-31T10:53:49-04:00</lastmod></url><url><loc>/categories/blog/</loc><lastmod>2023-08-31T10:53:49-04:00</lastmod></url><url><loc>/blog/</loc><lastmod>2023-08-31T10:53:49-04:00</lastmod></url><url><loc>/categories/</loc><lastmod>2023-08-31T10:53:49-04:00</lastmod></url><url><loc>/catego [...] \ 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.50.0/</loc><lastmod>2023-08-31T22:03:49+00:00</lastmod></url><url><loc>/categories/blog/</loc><lastmod>2023-08-31T22:03:49+00:00</lastmod></url><url><loc>/blog/</loc><lastmod>2023-08-31T22:03:49+00:00</lastmod></url><url><loc>/categories/</loc><lastmod>2023-08-31T22:03:49+00:00</lastmod></url><url><loc>/catego [...] \ No newline at end of file