Errata

Streaming Systems

Errata for Streaming Systems

Submit your own errata for this product.

The errata list is a list of errors and their corrections that were found after the product was released. If the error was corrected in a later version or reprint the date of the correction will be displayed in the column titled "Date Corrected".

The following errata were submitted by our customers and approved as valid errors by the author or editor.

Color key: Serious technical mistake Minor technical mistake Language or formatting error Typo Question Note Update

Version Location Description Submitted By Date submitted Date corrected
?
Table 2-1 caption, and preceding paragraph

References to "second window" should be "fourth window", which corresponds to event-time range [12:06, 12:08).

Note from the Author or Editor:
Correct, the references to "second window" in the Table 2-1 caption and the preceding paragraph should both be updated to "fourth window". Thank you!

Jeremy Lin  Nov 03, 2018  Dec 13, 2019
Printed
Page 37
second paragraph

The text says:

A pipeline with unaligned delays might look like Example 2-4,

but Example 2-4 is an example of *aligned* delays.

Note from the Author or Editor:
You are correct. The text that reads "A pipeline with unaligned delays might look like Example 2-4" should be updated to read "A pipeline with aligned delays might look like Example 2-4". Thank you!

Amy Boyle  Sep 11, 2018  Dec 13, 2019
Printed
Page 41
Last paragraph

The big difference between the watermark triggers from Figure 2-9 and the repeated update triggers we saw in Figures 2-5 through 2-7...

Figure numbers are shifted and should be: "Figure 2-10" and "Figures 2-6 through 2-8"

Note from the Author or Editor:
This erratum is correct. Thank you, we will fix it.

Ahmad Al-Shishtawy  Sep 06, 2019  Dec 13, 2019
Printed
Page 47
First line

"This version has two clear improvments over Figure 2-9"

The figure number should be 2-10

Note from the Author or Editor:
This errata is correct; the figure number should be 2-10. We will fix it.

Ahmad Al-Shishtawy  Sep 06, 2019  Dec 13, 2019
Printed
Page 55
Second paragraph

"Figure 2-15 combines the final frames of Figures 2-9, 2-11 (heuristic only), and 2-14..."

Should be "... Figures 2-13, 2-11 (heuristic only), and 2-14..."

Note from the Author or Editor:
You are correct, "Figures 2-9, 2-11 (heuristic only), and 2-14" should be updated to read "Figures 2-13, 2-11 (heuristic only), and 2-14". Thank you!

Thalita Vergilio  Oct 27, 2018  Dec 13, 2019
Printed
Page 57
example 2-7 / Figure 2-11

The early 3 in the third window needs to be a 4.

This graphic is also published here:
streamingsystems_dot_net/fig/2-15

Note from the Author or Editor:
You are correct. I will render an updated figure for a future revision. Thank you!

Anonymous  Oct 16, 2018  Dec 13, 2019
ePub
Page 66
Chapter 2: When: Early/OnTime/Late TRiggers FTW

The books says:
...
A SINGLE on-time pane, which is the result of the completeness/watermark trigger firing after the watermark passes the end of the window.
...

However, the Figure 2-11 does not reflect this: there are multiple windows with 0 (zero) on-time panes!

It is either wrong in theory or (probably) an error in the Fig 2-11.

Note from the Author or Editor:
You're right, the text and figure are inconsistent. The reason for that is historical: when I made these figures originally, I only included on-time panes that contained updated values; if an on-time pane would have had the same value as a previous early pane, it was elided for clarity and brevity. Beam in fact always gives an on-time pane, which are the semantics I captured in the text description.

Given how many figures would need to change if we wanted to switch to always having on-time panes for every window, I think it's best just to make the text match the figure.

"A single on-time pane" should be updated to read "At most one on-time pane".

Igor Mekterović  Jan 23, 2019  Dec 13, 2019
PDF
Page 89
Figure 3-2 Windowed summation with perfect (left) and heuristic (right) watermarks

Sumation for perfect watermark gives value "10" for elements with value "5" and "9". Shouldn't be the sum give the result "14" instead of "10"?

Note from the Author or Editor:
That is correct. I will render an updated Figure 3-2 for a future revision. Thanks for calling that out!

Rubén Sanchis  Feb 22, 2019  Dec 13, 2019
Printed
Page 97
last line of only paragraph

The text says "... the final results for the four windows remain the same: 14, 18, 3, 12."

It should be "14, 18, 4, 12" which matches the results in Figure 4-2.

Note from the Author or Editor:
You are correct. "14, 18, 3, 12" should be updated to read "14, 18, 4, 12". Thank you!

Ron Crocker  Sep 11, 2018  Dec 13, 2019
Printed
Page 99
Example 4-1

Should read TWO_MINUTES to match Figure 4-3 (and the rest of the chapter)

Note from the Author or Editor:
You are correct, Example 4-1 should be updated to say "TWO_MINUTES" instead of "ONE_MINUTE" in the example trigger. Thank you!

Kevin Scaldeferri  Sep 14, 2018  Dec 13, 2019
Printed
Page 111
Example 4-6

There are two errors in this code example:

When computing perKeyShift, 'size' should be 'size.getMillis()'

When computing start, the subtracted value needs to include the '.getMillis() % size.getMillis()' which was part of Example 4-4

Note from the Author or Editor:
You are correct. In Example 4-6, two updates are needed:

1. "hash(c.element().key()) % size" should be updated to read "hash(c.element().key()) % size.getMillis()"

2. After the line reading ".minus(offset)", a new line reading ".getMillis() % size.getMillis();" should be added, left aligned with the line above it, as found in Example 4-4.

Thank you!

Thank you!

Kevin Scaldeferri  Sep 14, 2018  Dec 13, 2019
Printed
Page 113
Example 4-8, first line

'>' has been erroneously escaped as '%gt;'

Note from the Author or Editor:
You are correct. "%gt;" in Example 4-8 should be fixed to render as ">". Thank you!

Kevin Scaldeferri  Sep 14, 2018  Dec 13, 2019
Printed
Page 114
Example 4-9

There doesn't seem to be any point to passing TWO_MINUTES into the PerElementFixedWindows strategy (unless it serves as a default value, in which case that should probably be explicitly called out).

Note from the Author or Editor:
You are correct. In Example 4-9, "PerElementFixedWindows.of(TWO_MINUTES)" should be changed to read "new PerElementFixedWindows()", with yellow highlighting on "new PerElement" and the trailing "()". Thank you!

Kevin Scaldeferri  Sep 14, 2018  Dec 13, 2019
Printed
Page 142
3rd paragraph under "Stream-and-table basics or: xxxxx"

The sentence states "But how to do we create a stream from a table?"

It should be "But how do we create xxxx". There's grammar error with the additional "to"

Note from the Author or Editor:
Correct, "But how to do we create a stream" should be changed to "But how do we create a stream". Thank you!

Bowen Li  Nov 09, 2018  Dec 13, 2019
Printed
Page 257
top of the page in the table

The table demoing the join is using the wrong keys in the result. I suspect this is a typo. The items in the R column should start with R not L.

Note from the Author or Editor:
You are correct. The values of L2, L3, and L4 in the R columns for that SQL listing should be updated to R2, R3, and R4 respectively. Thank you!

Amy Boyle  Nov 09, 2018  Dec 13, 2019
Printed
Page 277
table

It seems in the fifth table of the TVR, the Rate Window should be [12:00, 12:06) for the new row since the new rate record hasn't arrived yet. Definitely LMK if you think I misunderstood the table!

Note from the Author or Editor:
You are correct, the rate window for the highlighted row in the fifth pane of the TVR (the one with time range [12:08:00, 12:09:07)) should be changed from "[12:03, 12:06)" to "[12:00, 12:06)". Thanks for catching that!

Ziyao Wei  Jul 11, 2019  Dec 13, 2019
Printed
Page 286
second paragraph

s/well-understand/well-understood

Note from the Author or Editor:
You are correct, "well-understand" should be updated to "well-understood". Thank you!

Amy Boyle  Nov 15, 2018  Dec 13, 2019