This closes #1581: [BEAM-1117] Port direct runner StatefulParDo to KeyedWorkItem
Port direct runner StatefulParDo to KeyedWorkItem Propagate key through ParDo if DoFn is key-preserving Move responsibility for knowing about keyedness into EvaluationContext Add some key-preserving to KeyedPValueTrackingVisitor Project: http://git-wip-us.apache.org/repos/asf/incubator-beam/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-beam/commit/2f4b8031 Tree: http://git-wip-us.apache.org/repos/asf/incubator-beam/tree/2f4b8031 Diff: http://git-wip-us.apache.org/repos/asf/incubator-beam/diff/2f4b8031 Branch: refs/heads/python-sdk Commit: 2f4b80312c69da00df82aaa37d17cc2f6a742648 Parents: a526adb 1f018ab Author: Kenneth Knowles <k...@google.com> Authored: Tue Dec 20 12:39:34 2016 -0800 Committer: Kenneth Knowles <k...@google.com> Committed: Tue Dec 20 12:39:34 2016 -0800 ---------------------------------------------------------------------- .../beam/runners/direct/DirectRunner.java | 13 +- .../beam/runners/direct/EvaluationContext.java | 26 +++- .../direct/ExecutorServiceParallelExecutor.java | 8 +- .../direct/KeyedPValueTrackingVisitor.java | 44 ++++-- .../beam/runners/direct/ParDoEvaluator.java | 13 +- .../runners/direct/ParDoEvaluatorFactory.java | 3 + .../direct/ParDoMultiOverrideFactory.java | 94 +++++++++++-- ...littableProcessElementsEvaluatorFactory.java | 1 + .../direct/StatefulParDoEvaluatorFactory.java | 36 ++--- .../runners/direct/EvaluationContextTest.java | 9 +- .../direct/KeyedPValueTrackingVisitorTest.java | 135 +++++++++---------- .../beam/runners/direct/ParDoEvaluatorTest.java | 1 + .../StatefulParDoEvaluatorFactoryTest.java | 51 ++++--- 13 files changed, 281 insertions(+), 153 deletions(-) ----------------------------------------------------------------------