Ben Chambers created BEAM-696:
---------------------------------

             Summary: Side-Inputs non-deterministic with merging main-input 
windows
                 Key: BEAM-696
                 URL: https://issues.apache.org/jira/browse/BEAM-696
             Project: Beam
          Issue Type: Bug
          Components: beam-model
            Reporter: Ben Chambers
            Assignee: Frances Perry


Side-Inputs are non-deterministic for several reasons:
1. Because they depend on triggering of the side-input (this is acceptable 
because triggers are by their nature non-deterministic).
2. They depend on the current state of the main-input window in order to lookup 
the side-input. This means that with merging
3. Any runner optimizations that affect when the side-input is looked up may 
cause problems with either or both of these.

This issue focuses on #2 -- the non-determinism of side-inputs that execute 
within a Merging WindowFn.

Possible solution would be to defer running anything that looks up the 
side-input until we need to extract an output, and using the main-window at 
that point. Specifically, if the main-window is a MergingWindowFn, don't 
execute any kind of pre-combine, instead buffer all the inputs and combine 
later.

This could still run into some non-determinism if there are triggers 
controlling when we extract output.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to