This is an automated email from the ASF dual-hosted git repository.
github-bot 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 5ec102799dc Publishing website 2026/03/25 23:51:30 at commit dcb1b75
5ec102799dc is described below
commit 5ec102799dc3fd546679fdef9a73d35014e5b864
Author: runner <runner@main-runner-vplcm-csb6h>
AuthorDate: Wed Mar 25 23:51:30 2026 +0000
Publishing website 2026/03/25 23:51:30 at commit dcb1b75
---
website/generated-content/documentation/index.xml | 34 ++++++++++++++++++++++
.../documentation/programming-guide/index.html | 28 +++++++++++++++++-
website/generated-content/sitemap.xml | 2 +-
3 files changed, 62 insertions(+), 2 deletions(-)
diff --git a/website/generated-content/documentation/index.xml
b/website/generated-content/documentation/index.xml
index 87843f21279..0c542d6171b 100644
--- a/website/generated-content/documentation/index.xml
+++ b/website/generated-content/documentation/index.xml
@@ -14034,6 +14034,40 @@ of elements.</p>
</div>
</div>
</p>
+<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 tabindex="0" class="chroma"><code
class="language-go" data-lang="go"><span class="line"><span
class="cl"><span class="c1">// orderedListStateFn tracks timestamped events
per key and reads a sub-range.
+</span></span></span><span class="line"><span
class="cl"><span class="c1"></span><span class="kd">type</span>
<span class="nx">orderedListStateFn</span> <span
class="kd">struct</span> <span class="p">{</span>
+</span></span><span class="line"><span class="cl"> <span
class="nx">Events</span> <span class="nx">state</span><span
class="p">.</span><span class="nx">OrderedList</span><span
class="p">[</span><span class="kt">string</span><span
class="p">]</span>
+</span></span><span class="line"><span class="cl"><span
class="p">}</span>
+</span></span><span class="line"><span class="cl">
+</span></span><span class="line"><span class="cl"><span
class="kd">func</span> <span class="p">(</span><span
class="nx">s</span> <span class="o">*</span><span
class="nx">orderedListStateFn</span><span class="p">)</span> <span
class="nf">ProcessElement</span><span class="p">(</span><span
class="nx">p</span> <span class="nx">state</span><span
class="p">.</span><span class="nx">Provider</span><span class= [...]
+</span></span><span class="line"><span class="cl"> <span
class="c1">// Add the event with the current timestamp as the sort key.
+</span></span></span><span class="line"><span
class="cl"><span class="c1"></span> <span class="nx">now</span>
<span class="o">:=</span> <span class="nx">time</span><span
class="p">.</span><span class="nf">Now</span><span
class="p">().</span><span class="nf">UnixMilli</span><span
class="p">()</span>
+</span></span><span class="line"><span class="cl"> <span
class="nx">s</span><span class="p">.</span><span
class="nx">Events</span><span class="p">.</span><span
class="nf">Add</span><span class="p">(</span><span
class="nx">p</span><span class="p">,</span> <span
class="nx">now</span><span class="p">,</span> <span
class="nx">event</span><span class="p">)</span>
+</span></span><span class="line"><span class="cl">
+</span></span><span class="line"><span class="cl"> <span
class="c1">// Read a sub-range of events (e.g. the last hour).
+</span></span></span><span class="line"><span
class="cl"><span class="c1"></span> <span
class="nx">oneHourAgo</span> <span class="o">:=</span> <span
class="nx">now</span> <span class="o">-</span> <span
class="mi">3600000</span>
+</span></span><span class="line"><span class="cl"> <span
class="nx">entries</span><span class="p">,</span> <span
class="nx">ok</span><span class="p">,</span> <span
class="nx">err</span> <span class="o">:=</span> <span
class="nx">s</span><span class="p">.</span><span
class="nx">Events</span><span class="p">.</span><span
class="nf">ReadRange</span><span class="p">(</span><span
class="nx">p</span><s [...]
+</span></span><span class="line"><span class="cl"> <span
class="k">if</span> <span class="nx">err</span> <span
class="o">!=</span> <span class="kc">nil</span> <span
class="p">{</span>
+</span></span><span class="line"><span class="cl"> <span
class="k">return</span> <span class="nx">err</span>
+</span></span><span class="line"><span class="cl"> <span
class="p">}</span>
+</span></span><span class="line"><span class="cl"> <span
class="k">if</span> <span class="nx">ok</span> <span
class="p">{</span>
+</span></span><span class="line"><span class="cl"> <span
class="k">for</span> <span class="nx">_</span><span
class="p">,</span> <span class="nx">e</span> <span
class="o">:=</span> <span class="k">range</span> <span
class="nx">entries</span> <span class="p">{</span>
+</span></span><span class="line"><span class="cl"> <span
class="nf">emit</span><span class="p">(</span><span
class="nx">fmt</span><span class="p">.</span><span
class="nf">Sprintf</span><span class="p">(</span><span
class="s">&#34;%s@%d&#34;</span><span class="p">,</span>
<span class="nx">e</span><span class="p">.</span><span
class="nx">Value</span><span class="p">,</span> <span
class="nx">e< [...]
+</span></span><span class="line"><span class="cl"> <span
class="p">}</span>
+</span></span><span class="line"><span class="cl"> <span
class="p">}</span>
+</span></span><span class="line"><span class="cl">
+</span></span><span class="line"><span class="cl"> <span
class="c1">// Clear events older than one hour.
+</span></span></span><span class="line"><span
class="cl"><span class="c1"></span> <span
class="nx">s</span><span class="p">.</span><span
class="nx">Events</span><span class="p">.</span><span
class="nf">ClearRange</span><span class="p">(</span><span
class="nx">p</span><span class="p">,</span> <span
class="mi">0</span><span class="p">,</span> <span
class="nx">oneHourAgo</span><span class="p">)</span>
+</span></span><span class="line"><span class="cl">
+</span></span><span class="line"><span class="cl"> <span
class="k">return</span> <span class="kc">nil</span>
+</span></span><span class="line"><span class="cl"><span
class="p">}</span></span></span></code></pre></div>
+</div>
+</div>
<h4 id="multimap-state">MultimapState</h4>
<p><code>MultimapState</code> allow one key mapped to different
values but the key value could be unordered.</p>
<div class='language-java snippet'>
diff --git
a/website/generated-content/documentation/programming-guide/index.html
b/website/generated-content/documentation/programming-guide/index.html
index e2c724973da..5871f7ea4d3 100644
--- a/website/generated-content/documentation/programming-guide/index.html
+++ b/website/generated-content/documentation/programming-guide/index.html
@@ -4310,7 +4310,33 @@ of elements.</p><p><div class='language-java
snippet'><div class="notebook-skip
</span></span><span class=line><span class=cl> <span
class=n>state</span><span class=o>.</span><span class=n>clear</span><span
class=p>()</span>
</span></span><span class=line><span class=cl>
</span></span><span class=line><span class=cl><span class=n>_</span> <span
class=o>=</span> <span class=p>(</span><span class=n>p</span> <span
class=o>|</span> <span class=s1>'Read per user'</span> <span
class=o>>></span> <span class=n>ReadPerUser</span><span class=p>()</span>
-</span></span><span class=line><span class=cl> <span class=o>|</span>
<span class=s1>'Set state pardo'</span> <span class=o>>></span>
<span class=n>beam</span><span class=o>.</span><span class=n>ParDo</span><span
class=p>(</span><span class=n>OrderedListStateDoFn</span><span
class=p>()))</span></span></span></code></pre></div></div></div></p><h4
id=multimap-state>MultimapState</h4><p><code>MultimapState</code> allow one key
mapped to different values but the key value [...]
+</span></span><span class=line><span class=cl> <span class=o>|</span>
<span class=s1>'Set state pardo'</span> <span class=o>>></span>
<span class=n>beam</span><span class=o>.</span><span class=n>ParDo</span><span
class=p>(</span><span class=n>OrderedListStateDoFn</span><span
class=p>()))</span></span></span></code></pre></div></div></div></p><div
class='language-go snippet'><div class="notebook-skip code-snippet"><a
class=copy type=button data-bs-toggle=tooltip data-b [...]
+</span></span></span><span class=line><span class=cl><span
class=c1></span><span class=kd>type</span> <span
class=nx>orderedListStateFn</span> <span class=kd>struct</span> <span
class=p>{</span>
+</span></span><span class=line><span class=cl> <span class=nx>Events</span>
<span class=nx>state</span><span class=p>.</span><span
class=nx>OrderedList</span><span class=p>[</span><span
class=kt>string</span><span class=p>]</span>
+</span></span><span class=line><span class=cl><span class=p>}</span>
+</span></span><span class=line><span class=cl>
+</span></span><span class=line><span class=cl><span class=kd>func</span> <span
class=p>(</span><span class=nx>s</span> <span class=o>*</span><span
class=nx>orderedListStateFn</span><span class=p>)</span> <span
class=nf>ProcessElement</span><span class=p>(</span><span class=nx>p</span>
<span class=nx>state</span><span class=p>.</span><span
class=nx>Provider</span><span class=p>,</span> <span class=nx>key</span> <span
class=kt>string</span><span class=p>,</span> <span class=nx>event</span> [...]
+</span></span><span class=line><span class=cl> <span class=c1>// Add the event
with the current timestamp as the sort key.
+</span></span></span><span class=line><span class=cl><span class=c1></span>
<span class=nx>now</span> <span class=o>:=</span> <span
class=nx>time</span><span class=p>.</span><span class=nf>Now</span><span
class=p>().</span><span class=nf>UnixMilli</span><span class=p>()</span>
+</span></span><span class=line><span class=cl> <span class=nx>s</span><span
class=p>.</span><span class=nx>Events</span><span class=p>.</span><span
class=nf>Add</span><span class=p>(</span><span class=nx>p</span><span
class=p>,</span> <span class=nx>now</span><span class=p>,</span> <span
class=nx>event</span><span class=p>)</span>
+</span></span><span class=line><span class=cl>
+</span></span><span class=line><span class=cl> <span class=c1>// Read a
sub-range of events (e.g. the last hour).
+</span></span></span><span class=line><span class=cl><span class=c1></span>
<span class=nx>oneHourAgo</span> <span class=o>:=</span> <span
class=nx>now</span> <span class=o>-</span> <span class=mi>3600000</span>
+</span></span><span class=line><span class=cl> <span
class=nx>entries</span><span class=p>,</span> <span class=nx>ok</span><span
class=p>,</span> <span class=nx>err</span> <span class=o>:=</span> <span
class=nx>s</span><span class=p>.</span><span class=nx>Events</span><span
class=p>.</span><span class=nf>ReadRange</span><span class=p>(</span><span
class=nx>p</span><span class=p>,</span> <span class=nx>oneHourAgo</span><span
class=p>,</span> <span class=nx>now</span><span class=o>+</span> [...]
+</span></span><span class=line><span class=cl> <span class=k>if</span> <span
class=nx>err</span> <span class=o>!=</span> <span class=kc>nil</span> <span
class=p>{</span>
+</span></span><span class=line><span class=cl> <span
class=k>return</span> <span class=nx>err</span>
+</span></span><span class=line><span class=cl> <span class=p>}</span>
+</span></span><span class=line><span class=cl> <span class=k>if</span> <span
class=nx>ok</span> <span class=p>{</span>
+</span></span><span class=line><span class=cl> <span
class=k>for</span> <span class=nx>_</span><span class=p>,</span> <span
class=nx>e</span> <span class=o>:=</span> <span class=k>range</span> <span
class=nx>entries</span> <span class=p>{</span>
+</span></span><span class=line><span class=cl> <span
class=nf>emit</span><span class=p>(</span><span class=nx>fmt</span><span
class=p>.</span><span class=nf>Sprintf</span><span class=p>(</span><span
class=s>"%s@%d"</span><span class=p>,</span> <span
class=nx>e</span><span class=p>.</span><span class=nx>Value</span><span
class=p>,</span> <span class=nx>e</span><span class=p>.</span><span
class=nx>SortKey</span><span class=p>))</span>
+</span></span><span class=line><span class=cl> <span class=p>}</span>
+</span></span><span class=line><span class=cl> <span class=p>}</span>
+</span></span><span class=line><span class=cl>
+</span></span><span class=line><span class=cl> <span class=c1>// Clear events
older than one hour.
+</span></span></span><span class=line><span class=cl><span class=c1></span>
<span class=nx>s</span><span class=p>.</span><span class=nx>Events</span><span
class=p>.</span><span class=nf>ClearRange</span><span class=p>(</span><span
class=nx>p</span><span class=p>,</span> <span class=mi>0</span><span
class=p>,</span> <span class=nx>oneHourAgo</span><span class=p>)</span>
+</span></span><span class=line><span class=cl>
+</span></span><span class=line><span class=cl> <span class=k>return</span>
<span class=kc>nil</span>
+</span></span><span class=line><span class=cl><span
class=p>}</span></span></span></code></pre></div></div></div><h4
id=multimap-state>MultimapState</h4><p><code>MultimapState</code> allow one key
mapped to different values but the key value could be unordered.</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=highli
[...]
</span></span><span class=line><span class=cl> <span class=kd>private</span>
<span class=kd>final</span> <span class=n>StateSpec</span><span
class=o><</span><span class=n>MultimapState</span><span
class=o><</span><span class=n>String</span><span class=o>,</span> <span
class=n>Integer</span><span class=o>>></span> <span
class=n>multimapState</span> <span class=o>=</span>
</span></span><span class=line><span class=cl> <span
class=n>StateSpecs</span><span class=o>.</span><span
class=na>multimap</span><span class=o>(</span><span
class=n>StringUtf8Coder</span><span class=o>.</span><span
class=na>of</span><span class=o>(),</span> <span
class=n>VarIntCoder</span><span class=o>.</span><span class=na>of</span><span
class=o>());</span>
</span></span><span class=line><span class=cl>
diff --git a/website/generated-content/sitemap.xml
b/website/generated-content/sitemap.xml
index 27735053efa..bf3b176d3f7 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.71.0/</loc><lastmod>2026-03-25T13:31:01-04:00</lastmod></url><url><loc>/categories/blog/</loc><lastmod>2026-03-25T13:31:01-04:00</lastmod></url><url><loc>/blog/</loc><lastmod>2026-03-25T13:31:01-04:00</lastmod></url><url><loc>/categories/</loc><lastmod>2026-03-25T13:31:01-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.71.0/</loc><lastmod>2026-03-25T23:57:58+01:00</lastmod></url><url><loc>/categories/blog/</loc><lastmod>2026-03-25T23:57:58+01:00</lastmod></url><url><loc>/blog/</loc><lastmod>2026-03-25T23:57:58+01:00</lastmod></url><url><loc>/categories/</loc><lastmod>2026-03-25T23:57:58+01:00</lastmod></url><url><loc>/catego
[...]
\ No newline at end of file