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 3e47632 Publishing website 2021/02/09 18:01:37 at commit 705649d
3e47632 is described below
commit 3e4763282fd599878f9182392328fd5b2afb2066
Author: jenkins <[email protected]>
AuthorDate: Tue Feb 9 18:01:37 2021 +0000
Publishing website 2021/02/09 18:01:37 at commit 705649d
---
website/generated-content/blog/index.xml | 9 ++++-----
website/generated-content/blog/timely-processing/index.html | 9 ++++-----
website/generated-content/categories/blog/index.xml | 9 ++++-----
website/generated-content/sitemap.xml | 2 +-
4 files changed, 13 insertions(+), 16 deletions(-)
diff --git a/website/generated-content/blog/index.xml
b/website/generated-content/blog/index.xml
index 1f81d0d..0ca3a88 100644
--- a/website/generated-content/blog/index.xml
+++ b/website/generated-content/blog/index.xml
@@ -4062,9 +4062,9 @@ quota with the external service.</p>
is intuitively simple: you want to wait a certain amount of time and then
receive a call back.</p>
<p>To put the finishing touches on our example, we will set a processing
time
-timer as soon as any data is buffered. We track whether or not the timer has
-been set so we don&rsquo;t continually reset it. When an element arrives,
if the
-timer has not been set, then we set it for the current moment plus
+timer as soon as any data is buffered. Note that we set the timer only when
+the current buffer is empty, so that we don&rsquo;t continually reset the
timer.
+When the first element arrives, we set the timer for the current moment plus
<code>MAX_BUFFER_DURATION</code>. After the allotted processing time has
passed, a
callback will fire and enrich and emit any buffered elements.</p>
<div class=language-java>
@@ -4081,7 +4081,6 @@ callback will fire and enrich and emit any buffered
elements.</p>
<span class="nd">@StateId</span><span class="o">(</span><span
class="s">&#34;buffer&#34;</span><span class="o">)</span>
<span class="n">BagState</span><span
class="o">&lt;</span><span class="n">Event</span><span
class="o">&gt;</span> <span class="n">bufferState</span><span
class="o">,</span>
<span class="nd">@TimerId</span><span class="o">(</span><span
class="s">&#34;stale&#34;</span><span class="o">)</span>
<span class="n">Timer</span> <span
class="n">staleTimer</span><span class="o">,</span>
<span class="nd">@TimerId</span><span class="o">(</span><span
class="s">&#34;expiry&#34;</span><span class="o">)</span>
<span class="n">Timer</span> <span
class="n">expiryTimer</span><span class="o">)</span> <span
class="o">{</span>
-<span class="kt">boolean</span> <span
class="n">staleTimerSet</span> <span class="o">=</span> <span
class="n">firstNonNull</span><span class="o">(</span><span
class="n">staleSetState</span><span class="o">.</span><span
class="na">read</span><span class="o">(),</span> <span
class="kc">false</span><span class="o">);</span>
<span class="k">if</span> <span class="o">(</span><span
class="n">firstNonNull</span><span class="o">(</span><span
class="n">countState</span><span class="o">.</span><span
class="na">read</span><span class="o">(),</span> <span
class="n">0</span><span class="o">)</span> <span
class="o">==</span> <span class="n">0</span><span
class="o">)</span> <span class="o">{</span>
<span class="n">staleTimer</span><span class="o">.</span><span
class="na">offset</span><span class="o">(</span><span
class="n">MAX_BUFFER_DURATION</span><span class="o">).</span><span
class="na">setRelative</span><span class="o">();</span>
<span class="o">}</span>
@@ -4157,7 +4156,7 @@ for your stateful and timely <code>DoFn</code> to
work well in the Beam mo
help to be aware of the considerations below, especially if you have used
similar features before outside of Beam.</p>
<h3 id="event-time-windowing-just-works">Event Time Windowing
&ldquo;Just Works&rdquo;</h3>
-<p>One of the raisons d&rsquo;etre for Beam is correct processing of
out-of-order event
+<p>One of the raisons d'être for Beam is correct processing of out-of-order
event
data, which is almost all event data. Beam&rsquo;s solution to
out-of-order data is
event time windowing, where windows in event time yield correct results no
matter what windowing a user chooses or what order the events come in.</p>
diff --git a/website/generated-content/blog/timely-processing/index.html
b/website/generated-content/blog/timely-processing/index.html
index c17aa8f..52b9ffc 100644
--- a/website/generated-content/blog/timely-processing/index.html
+++ b/website/generated-content/blog/timely-processing/index.html
@@ -246,9 +246,9 @@ not as large as they might be, it is still few enough RPCs
to avoid blowing our
quota with the external service.</p><h3 id=processing-time-timers>Processing
Time Timers</h3><p>A timer in processing time (time as it passes while your
pipeline is executing)
is intuitively simple: you want to wait a certain amount of time and then
receive a call back.</p><p>To put the finishing touches on our example, we
will set a processing time
-timer as soon as any data is buffered. We track whether or not the timer has
-been set so we don’t continually reset it. When an element arrives, if
the
-timer has not been set, then we set it for the current moment plus
+timer as soon as any data is buffered. Note that we set the timer only when
+the current buffer is empty, so that we don’t continually reset the
timer.
+When the first element arrives, we set the timer for the current moment plus
<code>MAX_BUFFER_DURATION</code>. After the allotted processing time has
passed, a
callback will fire and enrich and emit any buffered elements.</p><div
class=language-java><div class=highlight><pre class=chroma><code
class=language-java data-lang=java><span class=k>new</span> <span
class=n>DoFn</span><span class=o><</span><span class=n>Event</span><span
class=o>,</span> <span class=n>EnrichedEvent</span><span class=o>>()</span>
<span class=o>{</span>
<span class=err>…</span>
@@ -267,7 +267,6 @@ callback will fire and enrich and emit any buffered
elements.</p><div class=lang
<span class=nd>@TimerId</span><span class=o>(</span><span
class=s>"stale"</span><span class=o>)</span> <span class=n>Timer</span>
<span class=n>staleTimer</span><span class=o>,</span>
<span class=nd>@TimerId</span><span class=o>(</span><span
class=s>"expiry"</span><span class=o>)</span> <span
class=n>Timer</span> <span class=n>expiryTimer</span><span class=o>)</span>
<span class=o>{</span>
- <span class=kt>boolean</span> <span class=n>staleTimerSet</span> <span
class=o>=</span> <span class=n>firstNonNull</span><span class=o>(</span><span
class=n>staleSetState</span><span class=o>.</span><span
class=na>read</span><span class=o>(),</span> <span class=kc>false</span><span
class=o>);</span>
<span class=k>if</span> <span class=o>(</span><span
class=n>firstNonNull</span><span class=o>(</span><span
class=n>countState</span><span class=o>.</span><span class=na>read</span><span
class=o>(),</span> <span class=n>0</span><span class=o>)</span> <span
class=o>==</span> <span class=n>0</span><span class=o>)</span> <span
class=o>{</span>
<span class=n>staleTimer</span><span class=o>.</span><span
class=na>offset</span><span class=o>(</span><span
class=n>MAX_BUFFER_DURATION</span><span class=o>).</span><span
class=na>setRelative</span><span class=o>();</span>
<span class=o>}</span>
@@ -333,7 +332,7 @@ may not have been possible otherwise.</p><h2
id=state-and-timers-in-beams-unifie
novel implications for state and timers. Usually, you don’t need to do
anything
for your stateful and timely <code>DoFn</code> to work well in the Beam model.
But it will
help to be aware of the considerations below, especially if you have used
-similar features before outside of Beam.</p><h3
id=event-time-windowing-just-works>Event Time Windowing “Just
Works”</h3><p>One of the raisons d’etre for Beam is correct
processing of out-of-order event
+similar features before outside of Beam.</p><h3
id=event-time-windowing-just-works>Event Time Windowing “Just
Works”</h3><p>One of the raisons d'être for Beam is correct processing of
out-of-order event
data, which is almost all event data. Beam’s solution to out-of-order
data is
event time windowing, where windows in event time yield correct results no
matter what windowing a user chooses or what order the events come
in.</p><p>If you write a stateful, timely transform, it should work no matter
how the
diff --git a/website/generated-content/categories/blog/index.xml
b/website/generated-content/categories/blog/index.xml
index 2336518..f859745 100644
--- a/website/generated-content/categories/blog/index.xml
+++ b/website/generated-content/categories/blog/index.xml
@@ -4062,9 +4062,9 @@ quota with the external service.</p>
is intuitively simple: you want to wait a certain amount of time and then
receive a call back.</p>
<p>To put the finishing touches on our example, we will set a processing
time
-timer as soon as any data is buffered. We track whether or not the timer has
-been set so we don&rsquo;t continually reset it. When an element arrives,
if the
-timer has not been set, then we set it for the current moment plus
+timer as soon as any data is buffered. Note that we set the timer only when
+the current buffer is empty, so that we don&rsquo;t continually reset the
timer.
+When the first element arrives, we set the timer for the current moment plus
<code>MAX_BUFFER_DURATION</code>. After the allotted processing time has
passed, a
callback will fire and enrich and emit any buffered elements.</p>
<div class=language-java>
@@ -4081,7 +4081,6 @@ callback will fire and enrich and emit any buffered
elements.</p>
<span class="nd">@StateId</span><span class="o">(</span><span
class="s">&#34;buffer&#34;</span><span class="o">)</span>
<span class="n">BagState</span><span
class="o">&lt;</span><span class="n">Event</span><span
class="o">&gt;</span> <span class="n">bufferState</span><span
class="o">,</span>
<span class="nd">@TimerId</span><span class="o">(</span><span
class="s">&#34;stale&#34;</span><span class="o">)</span>
<span class="n">Timer</span> <span
class="n">staleTimer</span><span class="o">,</span>
<span class="nd">@TimerId</span><span class="o">(</span><span
class="s">&#34;expiry&#34;</span><span class="o">)</span>
<span class="n">Timer</span> <span
class="n">expiryTimer</span><span class="o">)</span> <span
class="o">{</span>
-<span class="kt">boolean</span> <span
class="n">staleTimerSet</span> <span class="o">=</span> <span
class="n">firstNonNull</span><span class="o">(</span><span
class="n">staleSetState</span><span class="o">.</span><span
class="na">read</span><span class="o">(),</span> <span
class="kc">false</span><span class="o">);</span>
<span class="k">if</span> <span class="o">(</span><span
class="n">firstNonNull</span><span class="o">(</span><span
class="n">countState</span><span class="o">.</span><span
class="na">read</span><span class="o">(),</span> <span
class="n">0</span><span class="o">)</span> <span
class="o">==</span> <span class="n">0</span><span
class="o">)</span> <span class="o">{</span>
<span class="n">staleTimer</span><span class="o">.</span><span
class="na">offset</span><span class="o">(</span><span
class="n">MAX_BUFFER_DURATION</span><span class="o">).</span><span
class="na">setRelative</span><span class="o">();</span>
<span class="o">}</span>
@@ -4157,7 +4156,7 @@ for your stateful and timely <code>DoFn</code> to
work well in the Beam mo
help to be aware of the considerations below, especially if you have used
similar features before outside of Beam.</p>
<h3 id="event-time-windowing-just-works">Event Time Windowing
&ldquo;Just Works&rdquo;</h3>
-<p>One of the raisons d&rsquo;etre for Beam is correct processing of
out-of-order event
+<p>One of the raisons d'être for Beam is correct processing of out-of-order
event
data, which is almost all event data. Beam&rsquo;s solution to
out-of-order data is
event time windowing, where windows in event time yield correct results no
matter what windowing a user chooses or what order the events come in.</p>
diff --git a/website/generated-content/sitemap.xml
b/website/generated-content/sitemap.xml
index f763fb8..15700ea 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>/categories/blog/</loc><lastmod>2021-01-20T19:53:05+03:00</lastmod></url><url><loc>/blog/</loc><lastmod>2021-01-20T19:53:05+03:00</lastmod></url><url><loc>/categories/</loc><lastmod>2021-01-20T19:53:05+03:00</lastmod></url><url><loc>/blog/kafka-to-pubsub-example/</loc><lastmod>2021-01-20T19:53:05+03:00</lastmod></url><url>
[...]
\ 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>/categories/blog/</loc><lastmod>2021-02-04T12:05:11-08:00</lastmod></url><url><loc>/blog/</loc><lastmod>2021-02-04T12:05:11-08:00</lastmod></url><url><loc>/categories/</loc><lastmod>2021-02-04T12:05:11-08:00</lastmod></url><url><loc>/blog/kafka-to-pubsub-example/</loc><lastmod>2021-01-20T19:53:05+03:00</lastmod></url><url>
[...]
\ No newline at end of file