Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

The table below enumerates a number of cases in which Samza’s current Execution Planner does not enforce the necessary constraints on P1 and P2 to ensure the validity of the Stream-Table Join between table T and stream S2.

#

S1

S2

Required Constraint

1

Input stream

Input stream

P1 must be equal to P2

2

Input stream

Intermediate stream

P2 must be set to P1

3

Intermediate stream

Input stream

P1 must be set to P2

4

Intermediate stream

Intermediate stream

If the result of joining S1 and S2 is subsequently joined with an input stream S3, P1 and P2 must be set to P3.

...

  1. OperatorSpec graph analysis

  2. Conversion to StreamEdges

  3. Join input validation

Image RemovedImage Added

Details of each one of these steps are outlined below.

...

The output of this step is a collection of StreamEdge sets, each of which represents a group of StreamEdges participating in a particular Join. The number of such sets should be typically equivalent to the number of Joins in the OperatorSpec graph.

...

Processing Joined Streams

In this step, we process every group of StreamEdges produced by the previous step. Each group can be composed of:

...