Closes #1198
Project: http://git-wip-us.apache.org/repos/asf/incubator-beam/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-beam/commit/57f03f79 Tree: http://git-wip-us.apache.org/repos/asf/incubator-beam/tree/57f03f79 Diff: http://git-wip-us.apache.org/repos/asf/incubator-beam/diff/57f03f79 Branch: refs/heads/python-sdk Commit: 57f03f7939e7486035fa4667ab8e3ed3580009a7 Parents: c37b89e 654b848 Author: Robert Bradshaw <rober...@google.com> Authored: Thu Oct 27 10:22:36 2016 -0700 Committer: Robert Bradshaw <rober...@google.com> Committed: Thu Oct 27 10:22:36 2016 -0700 ---------------------------------------------------------------------- .gitignore | 8 + .travis.yml | 35 +- .travis/README.md | 23 + .travis/settings.xml | 33 + .travis/test_wordcount.sh | 125 ++ README.md | 3 +- examples/java/pom.xml | 280 +++- .../beam/examples/DebuggingWordCount.java | 32 +- .../apache/beam/examples/MinimalWordCount.java | 12 +- .../apache/beam/examples/WindowedWordCount.java | 46 +- .../org/apache/beam/examples/WordCount.java | 39 +- .../common/ExampleBigQueryTableOptions.java | 8 +- .../beam/examples/common/ExampleOptions.java | 48 +- ...xamplePubsubTopicAndSubscriptionOptions.java | 4 +- .../common/ExamplePubsubTopicOptions.java | 4 +- .../beam/examples/common/ExampleUtils.java | 95 +- .../examples/common/PubsubFileInjector.java | 155 -- .../beam/examples/complete/AutoComplete.java | 95 +- .../org/apache/beam/examples/complete/README.md | 4 +- .../examples/complete/StreamingWordExtract.java | 20 +- .../apache/beam/examples/complete/TfIdf.java | 44 +- .../examples/complete/TopWikipediaSessions.java | 28 +- .../examples/complete/TrafficMaxLaneFlow.java | 29 +- .../beam/examples/complete/TrafficRoutes.java | 39 +- .../examples/cookbook/BigQueryTornadoes.java | 32 +- .../cookbook/CombinePerKeyExamples.java | 32 +- .../examples/cookbook/DatastoreWordCount.java | 266 ---- .../beam/examples/cookbook/DeDupExample.java | 24 +- .../beam/examples/cookbook/FilterExamples.java | 37 +- .../beam/examples/cookbook/JoinExamples.java | 23 +- .../examples/cookbook/MaxPerKeyExamples.java | 33 +- .../beam/examples/cookbook/TriggerExample.java | 59 +- .../beam/examples/DebuggingWordCountTest.java | 6 +- .../beam/examples/WindowedWordCountIT.java | 75 + .../org/apache/beam/examples/WordCountIT.java | 125 +- .../org/apache/beam/examples/WordCountTest.java | 6 +- .../examples/complete/AutoCompleteTest.java | 12 +- .../beam/examples/complete/TfIdfTest.java | 6 +- .../complete/TopWikipediaSessionsTest.java | 7 +- .../examples/cookbook/BigQueryTornadoesIT.java | 15 +- .../cookbook/BigQueryTornadoesTest.java | 7 +- .../cookbook/CombinePerKeyExamplesTest.java | 7 +- .../examples/cookbook/DeDupExampleTest.java | 6 +- .../examples/cookbook/FilterExamplesTest.java | 9 +- .../examples/cookbook/JoinExamplesTest.java | 9 +- .../cookbook/MaxPerKeyExamplesTest.java | 9 +- .../examples/cookbook/TriggerExampleTest.java | 17 +- examples/java/src/test/resources/LICENSE | 202 +++ examples/java8/pom.xml | 48 +- .../beam/examples/MinimalWordCountJava8.java | 5 +- .../beam/examples/complete/game/GameStats.java | 70 +- .../examples/complete/game/HourlyTeamScore.java | 46 +- .../examples/complete/game/LeaderBoard.java | 176 ++- .../beam/examples/complete/game/UserScore.java | 34 +- .../complete/game/injector/Injector.java | 18 +- .../complete/game/injector/InjectorUtils.java | 1 - .../injector/RetryHttpInitializerWrapper.java | 1 - .../complete/game/utils/WriteToBigQuery.java | 67 +- .../game/utils/WriteWindowedToBigQuery.java | 20 +- .../examples/MinimalWordCountJava8Test.java | 23 +- .../examples/complete/game/GameStatsTest.java | 8 +- .../complete/game/HourlyTeamScoreTest.java | 8 +- .../examples/complete/game/LeaderBoardTest.java | 361 +++++ .../examples/complete/game/UserScoreTest.java | 8 +- examples/pom.xml | 2 +- pom.xml | 167 +- runners/core-java/pom.xml | 8 +- .../beam/runners/core/AggregatorFactory.java | 39 + .../apache/beam/runners/core/AssignWindows.java | 46 + .../beam/runners/core/AssignWindowsDoFn.java | 79 + .../apache/beam/runners/core/DoFnRunner.java | 65 + .../apache/beam/runners/core/DoFnRunners.java | 257 +++ .../runners/core/ElementAndRestriction.java | 42 + .../core/ElementAndRestrictionCoder.java | 67 + .../runners/core/ElementByteSizeObservable.java | 43 + .../runners/core/GBKIntoKeyedWorkItems.java | 55 + .../core/GroupAlsoByWindowViaWindowSetDoFn.java | 10 +- .../runners/core/GroupAlsoByWindowsDoFn.java | 47 + .../GroupAlsoByWindowsViaOutputBufferDoFn.java | 110 ++ .../core/GroupByKeyViaGroupByKeyOnly.java | 271 ++++ .../core/LateDataDroppingDoFnRunner.java | 151 ++ .../apache/beam/runners/core/NonEmptyPanes.java | 151 ++ .../beam/runners/core/PaneInfoTracker.java | 158 ++ .../beam/runners/core/PeekingReiterator.java | 100 ++ .../core/PushbackSideInputDoFnRunner.java | 116 ++ .../org/apache/beam/runners/core/ReduceFn.java | 130 ++ .../runners/core/ReduceFnContextFactory.java | 499 ++++++ .../beam/runners/core/ReduceFnRunner.java | 997 ++++++++++++ .../beam/runners/core/SideInputHandler.java | 243 +++ .../beam/runners/core/SimpleDoFnRunner.java | 586 +++++++ .../beam/runners/core/SimpleOldDoFnRunner.java | 521 ++++++ .../beam/runners/core/SplittableParDo.java | 469 ++++++ .../beam/runners/core/SystemReduceFn.java | 139 ++ .../core/UnboundedReadFromBoundedSource.java | 45 +- .../apache/beam/runners/core/WatermarkHold.java | 539 +++++++ .../core/triggers/AfterAllStateMachine.java | 109 ++ .../AfterDelayFromFirstElementStateMachine.java | 337 ++++ .../core/triggers/AfterEachStateMachine.java | 130 ++ .../core/triggers/AfterFirstStateMachine.java | 112 ++ .../core/triggers/AfterPaneStateMachine.java | 139 ++ .../AfterProcessingTimeStateMachine.java | 93 ++ ...rSynchronizedProcessingTimeStateMachine.java | 63 + .../triggers/AfterWatermarkStateMachine.java | 325 ++++ .../triggers/DefaultTriggerStateMachine.java | 81 + .../triggers/ExecutableTriggerStateMachine.java | 160 ++ .../runners/core/triggers/FinishedTriggers.java | 44 + .../core/triggers/FinishedTriggersBitSet.java | 67 + .../core/triggers/FinishedTriggersSet.java | 72 + .../core/triggers/NeverStateMachine.java | 60 + .../core/triggers/OrFinallyStateMachine.java | 85 + .../core/triggers/RepeatedlyStateMachine.java | 88 ++ .../triggers/ReshuffleTriggerStateMachine.java | 50 + .../core/triggers/TriggerStateMachine.java | 487 ++++++ .../TriggerStateMachineContextFactory.java | 509 ++++++ .../triggers/TriggerStateMachineRunner.java | 234 +++ .../core/triggers/TriggerStateMachines.java | 215 +++ .../runners/core/triggers/package-info.java | 23 + .../org/apache/beam/sdk/util/AssignWindows.java | 46 - .../apache/beam/sdk/util/AssignWindowsDoFn.java | 80 - .../beam/sdk/util/BatchTimerInternals.java | 141 -- .../org/apache/beam/sdk/util/DoFnRunner.java | 63 - .../apache/beam/sdk/util/DoFnRunnerBase.java | 551 ------- .../org/apache/beam/sdk/util/DoFnRunners.java | 222 --- .../beam/sdk/util/GroupAlsoByWindowsDoFn.java | 63 - .../GroupAlsoByWindowsViaOutputBufferDoFn.java | 100 -- .../sdk/util/GroupByKeyViaGroupByKeyOnly.java | 269 ---- .../sdk/util/LateDataDroppingDoFnRunner.java | 147 -- .../org/apache/beam/sdk/util/NonEmptyPanes.java | 150 -- .../apache/beam/sdk/util/PaneInfoTracker.java | 158 -- .../sdk/util/PushbackSideInputDoFnRunner.java | 115 -- .../java/org/apache/beam/sdk/util/ReduceFn.java | 130 -- .../beam/sdk/util/ReduceFnContextFactory.java | 497 ------ .../apache/beam/sdk/util/ReduceFnRunner.java | 988 ------------ .../apache/beam/sdk/util/SimpleDoFnRunner.java | 55 - .../apache/beam/sdk/util/SystemReduceFn.java | 139 -- .../org/apache/beam/sdk/util/TriggerRunner.java | 245 --- .../org/apache/beam/sdk/util/WatermarkHold.java | 540 ------- .../util/common/ElementByteSizeObservable.java | 42 - .../beam/sdk/util/common/PeekingReiterator.java | 99 -- .../beam/sdk/util/common/package-info.java | 20 - .../org/apache/beam/sdk/util/package-info.java | 20 - .../core/ElementAndRestrictionCoderTest.java | 127 ++ .../core/GroupAlsoByWindowsProperties.java | 660 ++++++++ ...oupAlsoByWindowsViaOutputBufferDoFnTest.java | 110 ++ .../core/LateDataDroppingDoFnRunnerTest.java | 117 ++ .../core/PushbackSideInputDoFnRunnerTest.java | 235 +++ .../beam/runners/core/ReduceFnRunnerTest.java | 1491 ++++++++++++++++++ .../beam/runners/core/ReduceFnTester.java | 659 ++++++++ .../beam/runners/core/SideInputHandlerTest.java | 220 +++ .../runners/core/SimpleOldDoFnRunnerTest.java | 88 ++ .../beam/runners/core/SplittableParDoTest.java | 467 ++++++ .../UnboundedReadFromBoundedSourceTest.java | 27 +- .../core/triggers/AfterAllStateMachineTest.java | 140 ++ .../triggers/AfterEachStateMachineTest.java | 108 ++ .../triggers/AfterFirstStateMachineTest.java | 159 ++ .../triggers/AfterPaneStateMachineTest.java | 117 ++ .../AfterProcessingTimeStateMachineTest.java | 172 ++ ...chronizedProcessingTimeStateMachineTest.java | 110 ++ .../AfterWatermarkStateMachineTest.java | 382 +++++ .../DefaultTriggerStateMachineTest.java | 165 ++ .../ExecutableTriggerStateMachineTest.java | 108 ++ .../triggers/FinishedTriggersBitSetTest.java | 55 + .../triggers/FinishedTriggersProperties.java | 115 ++ .../core/triggers/FinishedTriggersSetTest.java | 60 + .../core/triggers/NeverStateMachineTest.java | 59 + .../triggers/OrFinallyStateMachineTest.java | 177 +++ .../triggers/RepeatedlyStateMachineTest.java | 200 +++ .../ReshuffleTriggerStateMachineTest.java | 68 + .../core/triggers/StubTriggerStateMachine.java | 60 + .../core/triggers/TriggerStateMachineTest.java | 98 ++ .../triggers/TriggerStateMachineTester.java | 431 +++++ .../core/triggers/TriggerStateMachinesTest.java | 199 +++ .../beam/sdk/util/BatchTimerInternalsTest.java | 118 -- .../sdk/util/GroupAlsoByWindowsProperties.java | 661 -------- ...oupAlsoByWindowsViaOutputBufferDoFnTest.java | 110 -- .../util/LateDataDroppingDoFnRunnerTest.java | 117 -- .../util/PushbackSideInputDoFnRunnerTest.java | 234 --- .../beam/sdk/util/ReduceFnRunnerTest.java | 1447 ----------------- .../apache/beam/sdk/util/ReduceFnTester.java | 789 --------- .../beam/sdk/util/SimpleDoFnRunnerTest.java | 86 - runners/direct-java/pom.xml | 32 +- .../runners/direct/AggregatorContainer.java | 17 +- .../direct/BoundedReadEvaluatorFactory.java | 159 +- .../beam/runners/direct/BundleFactory.java | 15 +- .../runners/direct/CloningBundleFactory.java | 98 ++ .../beam/runners/direct/CloningThreadLocal.java | 43 - .../beam/runners/direct/CommittedResult.java | 9 +- .../beam/runners/direct/CompletionCallback.java | 4 +- .../direct/ConsumerTrackingPipelineVisitor.java | 13 +- .../runners/direct/DirectExecutionContext.java | 2 +- ...ectGBKIntoKeyedWorkItemsOverrideFactory.java | 66 + .../beam/runners/direct/DirectMetrics.java | 338 ++++ .../beam/runners/direct/DirectOptions.java | 85 +- .../beam/runners/direct/DirectRegistrar.java | 5 +- .../beam/runners/direct/DirectRunner.java | 186 ++- .../runners/direct/DirectTimerInternals.java | 6 +- .../runners/direct/DoFnLifecycleManager.java | 117 ++ ...ecycleManagerRemovingTransformEvaluator.java | 78 + .../runners/direct/DoFnLifecycleManagers.java | 45 + .../beam/runners/direct/EmptyInputProvider.java | 45 + .../direct/EncodabilityEnforcementFactory.java | 50 +- .../beam/runners/direct/EvaluationContext.java | 63 +- .../direct/ExecutorServiceParallelExecutor.java | 167 +- .../FixedThreadPoolExecutorServiceFactory.java | 45 - .../runners/direct/FlattenEvaluatorFactory.java | 29 +- .../runners/direct/ForwardingPTransform.java | 2 +- .../GroupAlsoByWindowEvaluatorFactory.java | 34 +- .../direct/GroupByKeyOnlyEvaluatorFactory.java | 42 +- .../ImmutabilityCheckingBundleFactory.java | 28 +- .../direct/ImmutabilityEnforcementFactory.java | 5 +- .../direct/ImmutableListBundleFactory.java | 80 +- .../direct/KeyedPValueTrackingVisitor.java | 5 +- .../beam/runners/direct/NanosOffsetClock.java | 16 +- .../beam/runners/direct/ParDoEvaluator.java | 35 +- .../direct/ParDoMultiEvaluatorFactory.java | 79 +- .../runners/direct/ParDoOverrideFactory.java | 55 + .../direct/ParDoSingleEvaluatorFactory.java | 62 +- .../beam/runners/direct/PipelineExecutor.java | 5 +- .../beam/runners/direct/RootInputProvider.java | 46 + .../runners/direct/RootProviderRegistry.java | 66 + .../beam/runners/direct/SideInputContainer.java | 21 +- .../apache/beam/runners/direct/StepAndKey.java | 4 +- .../runners/direct/StepTransformResult.java | 63 +- .../beam/runners/direct/StructuralKey.java | 88 +- .../direct/TestStreamEvaluatorFactory.java | 232 +++ ...readLocalInvalidatingTransformEvaluator.java | 63 - .../beam/runners/direct/TransformEvaluator.java | 2 +- .../direct/TransformEvaluatorFactory.java | 26 +- .../direct/TransformEvaluatorRegistry.java | 82 +- .../beam/runners/direct/TransformExecutor.java | 61 +- .../direct/TransformExecutorServices.java | 1 - .../beam/runners/direct/TransformResult.java | 23 +- .../direct/UnboundedReadDeduplicator.java | 11 +- .../direct/UnboundedReadEvaluatorFactory.java | 331 ++-- .../direct/UncommittedBundleOutputManager.java | 9 +- .../runners/direct/ViewEvaluatorFactory.java | 27 +- .../direct/WatermarkCallbackExecutor.java | 11 +- .../beam/runners/direct/WatermarkManager.java | 96 +- .../runners/direct/WindowEvaluatorFactory.java | 31 +- .../direct/WriteWithShardingFactory.java | 19 +- .../runners/direct/AggregatorContainerTest.java | 9 +- .../direct/BoundedReadEvaluatorFactoryTest.java | 194 ++- .../direct/CloningBundleFactoryTest.java | 177 +++ .../runners/direct/CloningThreadLocalTest.java | 92 -- .../runners/direct/CommittedResultTest.java | 23 +- .../ConsumerTrackingPipelineVisitorTest.java | 38 +- .../beam/runners/direct/DirectMetricsTest.java | 133 ++ .../runners/direct/DirectRegistrarTest.java | 9 +- .../beam/runners/direct/DirectRunnerTest.java | 207 ++- .../direct/DirectTimerInternalsTest.java | 1 - ...leManagerRemovingTransformEvaluatorTest.java | 142 ++ .../direct/DoFnLifecycleManagerTest.java | 235 +++ .../direct/DoFnLifecycleManagersTest.java | 171 ++ .../EncodabilityEnforcementFactoryTest.java | 142 +- .../runners/direct/EvaluationContextTest.java | 49 +- .../direct/FlattenEvaluatorFactoryTest.java | 37 +- .../direct/ForwardingPTransformTest.java | 8 +- .../direct/GroupByKeyEvaluatorFactoryTest.java | 35 +- .../GroupByKeyOnlyEvaluatorFactoryTest.java | 43 +- .../ImmutabilityCheckingBundleFactoryTest.java | 68 +- .../ImmutabilityEnforcementFactoryTest.java | 20 +- .../direct/ImmutableListBundleFactoryTest.java | 63 +- .../direct/KeyedPValueTrackingVisitorTest.java | 17 +- .../beam/runners/direct/ParDoEvaluatorTest.java | 29 +- .../direct/ParDoMultiEvaluatorFactoryTest.java | 164 +- .../direct/ParDoSingleEvaluatorFactoryTest.java | 147 +- .../runners/direct/SideInputContainerTest.java | 17 +- .../beam/runners/direct/SplittableDoFnTest.java | 231 +++ .../runners/direct/StepTransformResultTest.java | 5 +- .../beam/runners/direct/StructuralKeyTest.java | 10 +- .../direct/TestStreamEvaluatorFactoryTest.java | 171 ++ ...LocalInvalidatingTransformEvaluatorTest.java | 135 -- .../direct/TransformExecutorServicesTest.java | 4 +- .../runners/direct/TransformExecutorTest.java | 138 +- .../direct/UnboundedReadDeduplicatorTest.java | 23 +- .../UnboundedReadEvaluatorFactoryTest.java | 345 ++-- .../direct/ViewEvaluatorFactoryTest.java | 10 +- .../direct/WatermarkCallbackExecutorTest.java | 8 +- .../runners/direct/WatermarkManagerTest.java | 105 +- .../direct/WindowEvaluatorFactoryTest.java | 26 +- .../direct/WriteWithShardingFactoryTest.java | 30 +- runners/flink/README.md | 27 +- runners/flink/examples/pom.xml | 4 +- .../beam/runners/flink/examples/TFIDF.java | 60 +- .../beam/runners/flink/examples/WordCount.java | 19 +- .../runners/flink/examples/package-info.java | 22 + .../flink/examples/streaming/AutoComplete.java | 50 +- .../flink/examples/streaming/JoinExamples.java | 18 +- .../examples/streaming/KafkaIOExamples.java | 51 +- .../KafkaWindowedWordCountExample.java | 41 +- .../examples/streaming/WindowedWordCount.java | 33 +- .../flink/examples/streaming/package-info.java | 22 + runners/flink/pom.xml | 4 +- runners/flink/runner/pom.xml | 23 +- .../flink/DefaultParallelismFactory.java | 1 - .../flink/FlinkDetachedRunnerResult.java | 76 + .../FlinkPipelineExecutionEnvironment.java | 28 +- .../runners/flink/FlinkPipelineOptions.java | 82 +- .../apache/beam/runners/flink/FlinkRunner.java | 504 +++++- .../runners/flink/FlinkRunnerRegistrar.java | 15 +- .../beam/runners/flink/FlinkRunnerResult.java | 46 +- .../beam/runners/flink/TestFlinkRunner.java | 34 +- .../apache/beam/runners/flink/package-info.java | 22 + .../FlinkBatchPipelineTranslator.java | 18 +- .../FlinkBatchTransformTranslators.java | 19 +- .../FlinkBatchTranslationContext.java | 16 +- .../translation/FlinkPipelineTranslator.java | 2 +- .../FlinkStreamingPipelineTranslator.java | 62 +- .../FlinkStreamingTransformTranslators.java | 972 +++++++++--- .../FlinkStreamingTranslationContext.java | 6 +- .../flink/translation/TranslationMode.java | 8 +- .../functions/FlinkAssignContext.java | 6 +- .../functions/FlinkAssignWindows.java | 4 +- .../functions/FlinkDoFnFunction.java | 22 +- .../FlinkMergingNonShuffleReduceFunction.java | 17 +- .../FlinkMergingPartialReduceFunction.java | 17 +- .../functions/FlinkMergingReduceFunction.java | 21 +- .../functions/FlinkMultiOutputDoFnFunction.java | 44 +- .../FlinkMultiOutputProcessContext.java | 6 +- .../FlinkMultiOutputPruningFunction.java | 1 - .../functions/FlinkNoElementAssignContext.java | 1 - .../functions/FlinkPartialReduceFunction.java | 17 +- .../functions/FlinkProcessContext.java | 27 +- .../functions/FlinkReduceFunction.java | 21 +- .../functions/SideInputInitializer.java | 12 +- .../translation/functions/package-info.java | 22 + .../runners/flink/translation/package-info.java | 22 + .../translation/types/CoderTypeInformation.java | 5 +- .../translation/types/CoderTypeSerializer.java | 10 +- .../types/EncodedValueComparator.java | 6 +- .../types/EncodedValueSerializer.java | 164 +- .../types/EncodedValueTypeInformation.java | 4 - .../flink/translation/types/FlinkCoder.java | 11 +- .../flink/translation/types/KvKeySelector.java | 1 - .../flink/translation/types/package-info.java | 22 + .../utils/SerializedPipelineOptions.java | 6 +- .../flink/translation/utils/package-info.java | 22 + .../wrappers/DataInputViewWrapper.java | 3 +- .../wrappers/DataOutputViewWrapper.java | 5 +- .../SerializableFnAggregatorWrapper.java | 9 +- .../translation/wrappers/SourceInputFormat.java | 6 +- .../translation/wrappers/SourceInputSplit.java | 1 - .../translation/wrappers/package-info.java | 22 + .../wrappers/streaming/DoFnOperator.java | 512 ++++++ .../streaming/FlinkAbstractParDoWrapper.java | 280 ---- .../FlinkGroupAlsoByWindowWrapper.java | 642 -------- .../streaming/FlinkGroupByKeyWrapper.java | 73 - .../streaming/FlinkParDoBoundMultiWrapper.java | 79 - .../streaming/FlinkParDoBoundWrapper.java | 104 -- .../wrappers/streaming/FlinkStateInternals.java | 1037 ++++++++++++ .../streaming/SingletonKeyedWorkItem.java | 58 + .../streaming/SingletonKeyedWorkItemCoder.java | 130 ++ .../wrappers/streaming/WindowDoFnOperator.java | 502 ++++++ .../wrappers/streaming/WorkItemKeySelector.java | 56 + .../streaming/io/BoundedSourceWrapper.java | 223 +++ .../io/FlinkStreamingCreateFunction.java | 56 - .../streaming/io/UnboundedFlinkSink.java | 27 +- .../streaming/io/UnboundedFlinkSource.java | 36 +- .../streaming/io/UnboundedSocketSource.java | 63 +- .../streaming/io/UnboundedSourceWrapper.java | 202 ++- .../wrappers/streaming/io/package-info.java | 22 + .../wrappers/streaming/package-info.java | 22 + .../state/AbstractFlinkTimerInternals.java | 127 -- .../streaming/state/FlinkStateInternals.java | 733 --------- .../streaming/state/StateCheckpointReader.java | 93 -- .../streaming/state/StateCheckpointUtils.java | 155 -- .../streaming/state/StateCheckpointWriter.java | 131 -- .../wrappers/streaming/state/StateType.java | 73 - .../flink/EncodedValueComparatorTest.java | 1 - .../runners/flink/FlinkRunnerRegistrarTest.java | 1 - .../beam/runners/flink/FlinkTestPipeline.java | 6 +- .../beam/runners/flink/PipelineOptionsTest.java | 106 +- .../beam/runners/flink/ReadSourceITCase.java | 15 +- .../flink/ReadSourceStreamingITCase.java | 8 +- .../beam/runners/flink/WriteSinkITCase.java | 16 +- .../flink/streaming/DoFnOperatorTest.java | 326 ++++ .../streaming/FlinkStateInternalsTest.java | 390 +++++ .../flink/streaming/GroupAlsoByWindowTest.java | 523 ------ .../flink/streaming/GroupByNullKeyTest.java | 17 +- .../flink/streaming/StateSerializationTest.java | 338 ---- .../flink/streaming/TestCountingSource.java | 12 +- .../streaming/TopWikipediaSessionsITCase.java | 13 +- .../streaming/UnboundedSourceWrapperTest.java | 158 +- .../runners/flink/streaming/package-info.java | 22 + runners/google-cloud-dataflow-java/pom.xml | 30 +- .../dataflow/BlockingDataflowRunner.java | 18 +- .../runners/dataflow/DataflowJobException.java | 1 - .../runners/dataflow/DataflowPipelineJob.java | 174 +- .../dataflow/DataflowPipelineRegistrar.java | 5 +- .../dataflow/DataflowPipelineTranslator.java | 196 ++- .../beam/runners/dataflow/DataflowRunner.java | 352 ++--- .../runners/dataflow/DataflowRunnerHooks.java | 3 +- .../dataflow/internal/AssignWindows.java | 6 +- .../dataflow/internal/CustomSources.java | 18 +- .../internal/DataflowAggregatorTransforms.java | 10 +- .../internal/DataflowMetricUpdateExtractor.java | 10 +- .../DataflowUnboundedReadFromBoundedSource.java | 61 +- .../runners/dataflow/internal/IsmFormat.java | 48 +- .../dataflow/internal/ReadTranslator.java | 10 +- .../dataflow/options/CloudDebuggerOptions.java | 6 +- .../options/DataflowPipelineDebugOptions.java | 18 +- .../options/DataflowPipelineOptions.java | 61 +- .../DataflowPipelineWorkerPoolOptions.java | 30 +- .../options/DataflowProfilingOptions.java | 5 +- .../options/DataflowWorkerLoggingOptions.java | 12 +- .../dataflow/testing/TestDataflowRunner.java | 171 +- .../dataflow/util/DataflowTransport.java | 6 +- .../beam/runners/dataflow/util/DoFnInfo.java | 38 +- .../beam/runners/dataflow/util/GcsStager.java | 6 +- .../runners/dataflow/util/MonitoringUtil.java | 16 +- .../beam/runners/dataflow/util/PackageUtil.java | 47 +- .../runners/dataflow/util/RandomAccessData.java | 24 +- .../beam/runners/dataflow/util/Stager.java | 3 +- .../beam/runners/dataflow/util/TimeUtil.java | 8 +- .../dataflow/BlockingDataflowRunnerTest.java | 1 - .../dataflow/DataflowPipelineJobTest.java | 189 ++- .../dataflow/DataflowPipelineRegistrarTest.java | 9 +- .../DataflowPipelineTranslatorTest.java | 78 +- .../runners/dataflow/DataflowRunnerTest.java | 126 +- .../dataflow/RecordingPipelineVisitor.java | 5 +- ...aflowUnboundedReadFromBoundedSourceTest.java | 83 + .../DataflowPipelineDebugOptionsTest.java | 1 - .../options/DataflowPipelineOptionsTest.java | 43 +- .../options/DataflowProfilingOptionsTest.java | 4 +- .../DataflowWorkerLoggingOptionsTest.java | 8 +- .../testing/TestDataflowRunnerTest.java | 322 +++- .../transforms/DataflowGroupByKeyTest.java | 6 +- .../dataflow/transforms/DataflowViewTest.java | 1 - .../dataflow/util/MonitoringUtilTest.java | 21 +- .../runners/dataflow/util/PackageUtilTest.java | 41 +- .../dataflow/util/RandomAccessDataTest.java | 13 +- .../runners/dataflow/util/TimeUtilTest.java | 1 - runners/pom.xml | 3 +- runners/spark/README.md | 3 +- runners/spark/pom.xml | 168 +- .../beam/runners/spark/EvaluationResult.java | 4 +- .../runners/spark/SparkPipelineOptions.java | 82 +- .../apache/beam/runners/spark/SparkRunner.java | 195 ++- .../runners/spark/SparkRunnerRegistrar.java | 5 +- .../beam/runners/spark/TestSparkRunner.java | 19 +- .../spark/aggregators/AccumulatorSingleton.java | 53 + .../spark/aggregators/NamedAggregators.java | 48 +- .../aggregators/metrics/AggregatorMetric.java | 44 + .../metrics/AggregatorMetricSource.java | 50 + .../metrics/WithNamedAggregatorsSupport.java | 174 ++ .../spark/aggregators/metrics/package-info.java | 22 + .../spark/aggregators/metrics/sink/CsvSink.java | 39 + .../aggregators/metrics/sink/GraphiteSink.java | 39 + .../aggregators/metrics/sink/package-info.java | 23 + .../coders/BeamSparkRunnerRegistrator.java | 46 + .../beam/runners/spark/coders/CoderHelpers.java | 12 +- .../runners/spark/coders/NullWritableCoder.java | 6 +- .../runners/spark/coders/WritableCoder.java | 16 +- .../beam/runners/spark/examples/WordCount.java | 4 +- .../apache/beam/runners/spark/io/ConsoleIO.java | 2 +- .../beam/runners/spark/io/CreateStream.java | 7 +- .../runners/spark/io/EmptyCheckpointMark.java | 52 + .../apache/beam/runners/spark/io/KafkaIO.java | 133 -- .../beam/runners/spark/io/MicrobatchSource.java | 262 +++ .../beam/runners/spark/io/SourceDStream.java | 156 ++ .../apache/beam/runners/spark/io/SourceRDD.java | 273 ++++ .../runners/spark/io/SparkUnboundedSource.java | 167 ++ .../beam/runners/spark/io/hadoop/HadoopIO.java | 16 +- .../spark/io/hadoop/ShardNameBuilder.java | 3 +- .../spark/io/hadoop/ShardNameTemplateAware.java | 2 +- .../io/hadoop/ShardNameTemplateHelper.java | 9 +- .../io/hadoop/TemplatedAvroKeyOutputFormat.java | 5 +- .../TemplatedSequenceFileOutputFormat.java | 3 +- .../io/hadoop/TemplatedTextOutputFormat.java | 3 +- .../spark/stateful/StateSpecFunctions.java | 167 ++ .../runners/spark/stateful/package-info.java | 22 + .../runners/spark/translation/DoFnFunction.java | 66 +- .../spark/translation/EvaluationContext.java | 61 +- .../translation/GroupCombineFunctions.java | 303 ++++ .../spark/translation/MultiDoFnFunction.java | 92 +- .../translation/SparkAbstractCombineFn.java | 134 ++ .../spark/translation/SparkContextFactory.java | 53 +- .../spark/translation/SparkGlobalCombineFn.java | 260 +++ .../spark/translation/SparkKeyedCombineFn.java | 273 ++++ .../translation/SparkPipelineEvaluator.java | 57 - .../translation/SparkPipelineTranslator.java | 7 +- .../spark/translation/SparkProcessContext.java | 196 ++- .../spark/translation/SparkRuntimeContext.java | 70 +- .../spark/translation/TransformEvaluator.java | 3 +- .../spark/translation/TransformTranslator.java | 623 ++------ .../spark/translation/TranslationUtils.java | 214 +++ .../SparkRunnerStreamingContextFactory.java | 113 ++ .../streaming/StreamingEvaluationContext.java | 93 +- .../streaming/StreamingTransformTranslator.java | 583 ++++--- .../StreamingWindowPipelineDetector.java | 102 -- .../runners/spark/util/BroadcastHelper.java | 16 +- .../beam/runners/spark/util/ByteArray.java | 1 - .../spark/util/SparkSideInputReader.java | 95 ++ .../apache/beam/runners/spark/DeDupTest.java | 62 - .../beam/runners/spark/EmptyInputTest.java | 78 - .../runners/spark/ProvidedSparkContextTest.java | 138 ++ .../beam/runners/spark/SimpleWordCountTest.java | 96 -- .../runners/spark/SparkRunnerRegistrarTest.java | 9 +- .../apache/beam/runners/spark/TfIdfTest.java | 262 --- .../metrics/sink/ClearAggregatorsRule.java | 33 + .../metrics/sink/InMemoryMetrics.java | 86 + .../metrics/sink/InMemoryMetricsSinkRule.java | 31 + .../metrics/sink/NamedAggregatorsTest.java | 92 ++ .../runners/spark/coders/WritableCoderTest.java | 1 - .../beam/runners/spark/io/AvroPipelineTest.java | 27 +- .../beam/runners/spark/io/NumShardsTest.java | 25 +- .../io/hadoop/HadoopFileFormatPipelineTest.java | 10 +- .../spark/io/hadoop/ShardNameBuilderTest.java | 1 - .../spark/translation/CombineGloballyTest.java | 105 -- .../spark/translation/CombinePerKeyTest.java | 82 - .../spark/translation/DoFnOutputTest.java | 69 - .../translation/MultiOutputWordCountTest.java | 179 --- .../spark/translation/SerializationTest.java | 204 --- .../spark/translation/SideEffectsTest.java | 27 +- .../translation/SparkPipelineOptionsTest.java | 43 - .../translation/TransformTranslatorTest.java | 107 -- .../translation/WindowedWordCountTest.java | 123 -- .../streaming/EmptyStreamAssertionTest.java | 80 + .../streaming/FlattenStreamingTest.java | 64 +- .../streaming/KafkaStreamingTest.java | 188 ++- .../ResumeFromCheckpointStreamingTest.java | 188 +++ .../streaming/SimpleStreamingWordCountTest.java | 71 +- .../streaming/utils/EmbeddedKafkaCluster.java | 63 +- .../utils/KafkaWriteOnBatchCompleted.java | 105 ++ .../streaming/utils/PAssertStreaming.java | 89 +- .../utils/TestOptionsForStreaming.java | 55 + .../spark/src/test/resources/metrics.properties | 68 + sdks/java/build-tools/pom.xml | 2 +- .../src/main/resources/beam/checkstyle.xml | 39 +- .../src/main/resources/beam/findbugs-filter.xml | 22 +- .../src/main/resources/beam/suppressions.xml | 11 +- sdks/java/core/pom.xml | 49 +- .../beam/sdk/AggregatorPipelineExtractor.java | 91 ++ .../beam/sdk/AggregatorRetrievalException.java | 33 + .../org/apache/beam/sdk/AggregatorValues.java | 51 + .../main/java/org/apache/beam/sdk/Pipeline.java | 41 +- .../org/apache/beam/sdk/PipelineResult.java | 31 +- .../beam/sdk/annotations/Experimental.java | 15 +- .../org/apache/beam/sdk/coders/AvroCoder.java | 35 +- .../apache/beam/sdk/coders/BigDecimalCoder.java | 1 - .../beam/sdk/coders/BigEndianIntegerCoder.java | 1 - .../beam/sdk/coders/BigEndianLongCoder.java | 1 - .../apache/beam/sdk/coders/BigIntegerCoder.java | 1 - .../apache/beam/sdk/coders/ByteArrayCoder.java | 11 +- .../org/apache/beam/sdk/coders/ByteCoder.java | 1 - .../apache/beam/sdk/coders/ByteStringCoder.java | 7 +- .../sdk/coders/CannotProvideCoderException.java | 2 +- .../java/org/apache/beam/sdk/coders/Coder.java | 39 +- .../apache/beam/sdk/coders/CoderFactories.java | 3 +- .../apache/beam/sdk/coders/CoderFactory.java | 4 +- .../apache/beam/sdk/coders/CoderProvider.java | 2 +- .../apache/beam/sdk/coders/CoderProviders.java | 6 +- .../apache/beam/sdk/coders/CoderRegistry.java | 24 +- .../apache/beam/sdk/coders/CollectionCoder.java | 4 +- .../org/apache/beam/sdk/coders/CustomCoder.java | 16 +- .../apache/beam/sdk/coders/DefaultCoder.java | 3 +- .../apache/beam/sdk/coders/DelegateCoder.java | 5 +- .../org/apache/beam/sdk/coders/DoubleCoder.java | 1 - .../apache/beam/sdk/coders/DurationCoder.java | 8 +- .../apache/beam/sdk/coders/InstantCoder.java | 12 +- .../apache/beam/sdk/coders/IterableCoder.java | 9 +- .../beam/sdk/coders/IterableLikeCoder.java | 31 +- .../org/apache/beam/sdk/coders/JAXBCoder.java | 14 +- .../org/apache/beam/sdk/coders/KvCoder.java | 13 +- .../org/apache/beam/sdk/coders/ListCoder.java | 4 +- .../org/apache/beam/sdk/coders/MapCoder.java | 9 +- .../apache/beam/sdk/coders/NullableCoder.java | 29 +- .../beam/sdk/coders/SerializableCoder.java | 6 +- .../org/apache/beam/sdk/coders/SetCoder.java | 4 +- .../apache/beam/sdk/coders/StandardCoder.java | 25 +- .../beam/sdk/coders/StringDelegateCoder.java | 5 +- .../apache/beam/sdk/coders/StringUtf8Coder.java | 11 +- .../beam/sdk/coders/TableRowJsonCoder.java | 4 +- .../beam/sdk/coders/TextualIntegerCoder.java | 1 - .../org/apache/beam/sdk/coders/VarIntCoder.java | 4 +- .../apache/beam/sdk/coders/VarLongCoder.java | 4 +- .../org/apache/beam/sdk/coders/VoidCoder.java | 1 - .../apache/beam/sdk/coders/package-info.java | 2 +- .../beam/sdk/coders/protobuf/ProtoCoder.java | 32 +- .../beam/sdk/coders/protobuf/ProtobufUtil.java | 4 +- .../java/org/apache/beam/sdk/io/AvroIO.java | 299 +++- .../java/org/apache/beam/sdk/io/AvroSource.java | 143 +- .../apache/beam/sdk/io/BlockBasedSource.java | 6 +- .../sdk/io/BoundedReadFromUnboundedSource.java | 40 +- .../org/apache/beam/sdk/io/BoundedSource.java | 30 +- .../apache/beam/sdk/io/CompressedSource.java | 114 +- .../org/apache/beam/sdk/io/CountingInput.java | 4 +- .../org/apache/beam/sdk/io/CountingSource.java | 11 +- .../org/apache/beam/sdk/io/FileBasedSink.java | 172 +- .../org/apache/beam/sdk/io/FileBasedSource.java | 17 +- .../apache/beam/sdk/io/OffsetBasedSource.java | 16 +- .../java/org/apache/beam/sdk/io/PubsubIO.java | 50 +- .../apache/beam/sdk/io/PubsubUnboundedSink.java | 23 +- .../beam/sdk/io/PubsubUnboundedSource.java | 49 +- .../main/java/org/apache/beam/sdk/io/Read.java | 18 +- .../sdk/io/SerializableAvroCodecFactory.java | 112 ++ .../main/java/org/apache/beam/sdk/io/Sink.java | 8 +- .../java/org/apache/beam/sdk/io/Source.java | 8 +- .../java/org/apache/beam/sdk/io/TextIO.java | 331 ++-- .../org/apache/beam/sdk/io/UnboundedSource.java | 11 +- .../main/java/org/apache/beam/sdk/io/Write.java | 50 +- .../java/org/apache/beam/sdk/io/XmlSink.java | 14 +- .../java/org/apache/beam/sdk/io/XmlSource.java | 28 +- .../org/apache/beam/sdk/io/range/ByteKey.java | 1 - .../apache/beam/sdk/io/range/ByteKeyRange.java | 12 +- .../beam/sdk/io/range/ByteKeyRangeTracker.java | 6 +- .../beam/sdk/io/range/OffsetRangeTracker.java | 4 +- .../apache/beam/sdk/io/range/RangeTracker.java | 1 + .../org/apache/beam/sdk/metrics/Counter.java | 40 + .../apache/beam/sdk/metrics/CounterCell.java | 76 + .../org/apache/beam/sdk/metrics/DirtyState.java | 98 ++ .../apache/beam/sdk/metrics/Distribution.java | 30 + .../beam/sdk/metrics/DistributionCell.java | 58 + .../beam/sdk/metrics/DistributionData.java | 59 + .../beam/sdk/metrics/DistributionResult.java | 42 + .../org/apache/beam/sdk/metrics/Metric.java | 24 + .../org/apache/beam/sdk/metrics/MetricCell.java | 47 + .../org/apache/beam/sdk/metrics/MetricKey.java | 40 + .../org/apache/beam/sdk/metrics/MetricName.java | 46 + .../beam/sdk/metrics/MetricNameFilter.java | 60 + .../beam/sdk/metrics/MetricQueryResults.java | 33 + .../apache/beam/sdk/metrics/MetricResult.java | 45 + .../apache/beam/sdk/metrics/MetricResults.java | 34 + .../apache/beam/sdk/metrics/MetricUpdates.java | 72 + .../org/apache/beam/sdk/metrics/Metrics.java | 110 ++ .../beam/sdk/metrics/MetricsContainer.java | 150 ++ .../beam/sdk/metrics/MetricsEnvironment.java | 85 + .../apache/beam/sdk/metrics/MetricsFilter.java | 86 + .../org/apache/beam/sdk/metrics/MetricsMap.java | 86 + .../apache/beam/sdk/metrics/package-info.java | 28 + .../options/CloudResourceManagerOptions.java | 40 + .../org/apache/beam/sdk/options/GcpOptions.java | 26 +- .../org/apache/beam/sdk/options/GcsOptions.java | 19 +- .../beam/sdk/options/GoogleApiDebugOptions.java | 3 +- .../beam/sdk/options/PipelineOptionSpec.java | 4 +- .../beam/sdk/options/PipelineOptions.java | 111 +- .../sdk/options/PipelineOptionsFactory.java | 295 ++-- .../sdk/options/PipelineOptionsReflector.java | 4 +- .../sdk/options/PipelineOptionsRegistrar.java | 1 - .../sdk/options/PipelineOptionsValidator.java | 6 +- .../sdk/options/ProxyInvocationHandler.java | 302 ++-- .../apache/beam/sdk/options/ValueProvider.java | 239 +++ .../beam/sdk/options/ValueProviderUtils.java | 60 + .../java/org/apache/beam/sdk/package-info.java | 2 +- .../runners/AggregatorPipelineExtractor.java | 93 -- .../runners/AggregatorRetrievalException.java | 33 - .../beam/sdk/runners/AggregatorValues.java | 52 - .../sdk/runners/PipelineRunnerRegistrar.java | 3 +- .../beam/sdk/runners/TransformHierarchy.java | 9 +- .../beam/sdk/runners/TransformTreeNode.java | 14 +- .../apache/beam/sdk/runners/package-info.java | 17 +- .../beam/sdk/testing/BigqueryMatcher.java | 239 +++ .../beam/sdk/testing/CoderProperties.java | 23 +- .../beam/sdk/testing/FileChecksumMatcher.java | 133 ++ .../beam/sdk/testing/MatcherDeserializer.java | 7 +- .../beam/sdk/testing/MatcherSerializer.java | 7 +- .../org/apache/beam/sdk/testing/PAssert.java | 68 +- .../apache/beam/sdk/testing/PaneExtractors.java | 23 +- .../beam/sdk/testing/SerializableMatcher.java | 3 +- .../beam/sdk/testing/SerializableMatchers.java | 22 +- .../beam/sdk/testing/SourceTestUtils.java | 150 +- .../apache/beam/sdk/testing/StaticWindows.java | 10 +- .../apache/beam/sdk/testing/StreamingIT.java | 35 + .../apache/beam/sdk/testing/TestPipeline.java | 32 +- .../beam/sdk/testing/TestPipelineOptions.java | 1 - .../org/apache/beam/sdk/testing/TestStream.java | 368 +++++ .../beam/sdk/testing/WindowFnTestUtils.java | 19 +- .../apache/beam/sdk/testing/WindowSupplier.java | 10 +- .../apache/beam/sdk/testing/package-info.java | 4 +- .../apache/beam/sdk/transforms/Aggregator.java | 25 +- .../beam/sdk/transforms/AppliedPTransform.java | 5 +- .../sdk/transforms/ApproximateQuantiles.java | 34 +- .../beam/sdk/transforms/ApproximateUnique.java | 23 +- .../org/apache/beam/sdk/transforms/Combine.java | 201 ++- .../beam/sdk/transforms/CombineFnBase.java | 27 +- .../apache/beam/sdk/transforms/CombineFns.java | 82 +- .../beam/sdk/transforms/CombineWithContext.java | 7 +- .../org/apache/beam/sdk/transforms/Count.java | 21 +- .../org/apache/beam/sdk/transforms/Create.java | 44 +- .../sdk/transforms/DelegatingAggregator.java | 125 ++ .../org/apache/beam/sdk/transforms/DoFn.java | 538 ++++++- .../beam/sdk/transforms/DoFnAdapters.java | 440 ++++++ .../beam/sdk/transforms/DoFnReflector.java | 1070 ------------- .../apache/beam/sdk/transforms/DoFnTester.java | 391 +++-- .../org/apache/beam/sdk/transforms/Filter.java | 4 +- .../beam/sdk/transforms/FlatMapElements.java | 13 +- .../org/apache/beam/sdk/transforms/Flatten.java | 12 +- .../apache/beam/sdk/transforms/GroupByKey.java | 7 +- .../transforms/IntraBundleParallelization.java | 364 ----- .../org/apache/beam/sdk/transforms/Keys.java | 8 +- .../org/apache/beam/sdk/transforms/KvSwap.java | 9 +- .../org/apache/beam/sdk/transforms/Latest.java | 203 +++ .../apache/beam/sdk/transforms/MapElements.java | 24 +- .../org/apache/beam/sdk/transforms/Max.java | 32 +- .../org/apache/beam/sdk/transforms/Mean.java | 12 +- .../org/apache/beam/sdk/transforms/Min.java | 33 +- .../org/apache/beam/sdk/transforms/OldDoFn.java | 356 ++++- .../apache/beam/sdk/transforms/PTransform.java | 19 +- .../org/apache/beam/sdk/transforms/ParDo.java | 616 +++++--- .../apache/beam/sdk/transforms/Partition.java | 7 +- .../beam/sdk/transforms/RemoveDuplicates.java | 13 +- .../org/apache/beam/sdk/transforms/Sample.java | 7 +- .../sdk/transforms/SerializableFunction.java | 2 +- .../beam/sdk/transforms/SimpleFunction.java | 20 +- .../org/apache/beam/sdk/transforms/Sum.java | 27 +- .../org/apache/beam/sdk/transforms/Top.java | 20 +- .../org/apache/beam/sdk/transforms/Values.java | 8 +- .../org/apache/beam/sdk/transforms/View.java | 5 +- .../org/apache/beam/sdk/transforms/ViewFn.java | 44 + .../apache/beam/sdk/transforms/WithKeys.java | 11 +- .../beam/sdk/transforms/WithTimestamps.java | 1 - .../sdk/transforms/display/DisplayData.java | 549 ++++--- .../beam/sdk/transforms/join/CoGbkResult.java | 30 +- .../sdk/transforms/join/CoGbkResultSchema.java | 10 +- .../beam/sdk/transforms/join/CoGroupByKey.java | 5 +- .../transforms/join/KeyedPCollectionTuple.java | 7 +- .../beam/sdk/transforms/join/RawUnionValue.java | 25 + .../beam/sdk/transforms/join/UnionCoder.java | 14 +- .../sdk/transforms/reflect/DoFnInvoker.java | 73 + .../sdk/transforms/reflect/DoFnInvokers.java | 781 +++++++++ .../sdk/transforms/reflect/DoFnSignature.java | 520 ++++++ .../sdk/transforms/reflect/DoFnSignatures.java | 1023 ++++++++++++ .../sdk/transforms/reflect/package-info.java | 23 + .../splittabledofn/RestrictionTracker.java | 42 + .../transforms/splittabledofn/package-info.java | 22 + .../beam/sdk/transforms/windowing/AfterAll.java | 60 +- .../windowing/AfterDelayFromFirstElement.java | 122 +- .../sdk/transforms/windowing/AfterEach.java | 70 +- .../sdk/transforms/windowing/AfterFirst.java | 61 +- .../sdk/transforms/windowing/AfterPane.java | 66 +- .../windowing/AfterProcessingTime.java | 14 +- .../AfterSynchronizedProcessingTime.java | 23 +- .../transforms/windowing/AfterWatermark.java | 186 +-- .../sdk/transforms/windowing/BoundedWindow.java | 3 +- .../transforms/windowing/CalendarWindows.java | 1 - .../transforms/windowing/DefaultTrigger.java | 41 +- .../sdk/transforms/windowing/FixedWindows.java | 4 +- .../sdk/transforms/windowing/GlobalWindow.java | 6 +- .../sdk/transforms/windowing/GlobalWindows.java | 6 +- .../transforms/windowing/IntervalWindow.java | 10 +- .../transforms/windowing/InvalidWindows.java | 4 +- .../beam/sdk/transforms/windowing/Never.java | 32 +- .../transforms/windowing/OrFinallyTrigger.java | 60 +- .../sdk/transforms/windowing/OutputTimeFn.java | 7 +- .../sdk/transforms/windowing/OutputTimeFns.java | 7 +- .../beam/sdk/transforms/windowing/PaneInfo.java | 28 +- .../windowing/PartitioningWindowFn.java | 3 +- .../sdk/transforms/windowing/Repeatedly.java | 40 +- .../beam/sdk/transforms/windowing/Sessions.java | 8 +- .../transforms/windowing/SlidingWindows.java | 13 +- .../beam/sdk/transforms/windowing/Trigger.java | 429 +---- .../beam/sdk/transforms/windowing/Window.java | 34 +- .../beam/sdk/transforms/windowing/WindowFn.java | 8 +- .../apache/beam/sdk/util/ActiveWindowSet.java | 6 +- .../org/apache/beam/sdk/util/ApiSurface.java | 6 +- .../apache/beam/sdk/util/AppliedCombineFn.java | 6 +- ...AttemptAndTimeBoundedExponentialBackOff.java | 7 +- .../util/AttemptBoundedExponentialBackOff.java | 1 + .../org/apache/beam/sdk/util/AvroUtils.java | 7 +- .../beam/sdk/util/BaseExecutionContext.java | 17 +- .../org/apache/beam/sdk/util/BitSetCoder.java | 11 +- .../apache/beam/sdk/util/BucketingFunction.java | 3 +- .../BufferedElementCountingOutputStream.java | 4 +- .../apache/beam/sdk/util/CloudKnownType.java | 1 - .../org/apache/beam/sdk/util/CloudObject.java | 2 - .../org/apache/beam/sdk/util/CoderUtils.java | 17 +- .../org/apache/beam/sdk/util/CombineFnUtil.java | 7 +- .../apache/beam/sdk/util/CounterAggregator.java | 128 -- .../apache/beam/sdk/util/CredentialFactory.java | 3 +- .../org/apache/beam/sdk/util/Credentials.java | 9 +- .../beam/sdk/util/DirectSideInputReader.java | 9 +- .../apache/beam/sdk/util/ExecutableTrigger.java | 47 +- .../apache/beam/sdk/util/ExecutionContext.java | 5 +- .../sdk/util/ExposedByteArrayInputStream.java | 3 +- .../sdk/util/ExposedByteArrayOutputStream.java | 4 +- .../beam/sdk/util/FileIOChannelFactory.java | 6 +- .../apache/beam/sdk/util/FinishedTriggers.java | 44 - .../beam/sdk/util/FinishedTriggersBitSet.java | 67 - .../beam/sdk/util/FinishedTriggersSet.java | 73 - .../org/apache/beam/sdk/util/FluentBackoff.java | 229 +++ .../apache/beam/sdk/util/GatherAllPanes.java | 10 +- .../beam/sdk/util/GcpCredentialFactory.java | 6 +- .../apache/beam/sdk/util/GcpProjectUtil.java | 106 ++ .../beam/sdk/util/GcsIOChannelFactory.java | 5 +- .../apache/beam/sdk/util/GcsPathValidator.java | 5 +- .../java/org/apache/beam/sdk/util/GcsUtil.java | 367 +++-- .../apache/beam/sdk/util/IOChannelFactory.java | 2 +- .../apache/beam/sdk/util/IOChannelUtils.java | 5 +- .../apache/beam/sdk/util/IdentityWindowFn.java | 6 +- .../apache/beam/sdk/util/InstanceBuilder.java | 5 +- .../util/IntervalBoundedExponentialBackOff.java | 1 + .../beam/sdk/util/KeyedWorkItemCoder.java | 17 +- .../apache/beam/sdk/util/KeyedWorkItems.java | 4 +- .../beam/sdk/util/MapAggregatorValues.java | 50 - .../beam/sdk/util/MergingActiveWindowSet.java | 33 +- .../apache/beam/sdk/util/MovingFunction.java | 3 +- .../apache/beam/sdk/util/MutationDetectors.java | 5 +- .../sdk/util/NonMergingActiveWindowSet.java | 6 +- .../beam/sdk/util/NoopCredentialFactory.java | 4 +- .../beam/sdk/util/NullSideInputReader.java | 6 +- .../beam/sdk/util/PCollectionViewWindow.java | 3 +- .../apache/beam/sdk/util/PCollectionViews.java | 248 ++- .../java/org/apache/beam/sdk/util/PTuple.java | 3 +- .../org/apache/beam/sdk/util/PathValidator.java | 6 +- .../beam/sdk/util/PerKeyCombineFnRunner.java | 31 +- .../beam/sdk/util/PerKeyCombineFnRunners.java | 10 +- .../org/apache/beam/sdk/util/PropertyNames.java | 1 + .../org/apache/beam/sdk/util/PubsubClient.java | 10 +- .../apache/beam/sdk/util/PubsubGrpcClient.java | 42 +- .../apache/beam/sdk/util/PubsubJsonClient.java | 5 +- .../apache/beam/sdk/util/PubsubTestClient.java | 7 +- .../sdk/util/ReifyTimestampAndWindowsDoFn.java | 20 +- .../org/apache/beam/sdk/util/ReleaseInfo.java | 12 +- .../org/apache/beam/sdk/util/Reshuffle.java | 7 +- .../apache/beam/sdk/util/ReshuffleTrigger.java | 20 +- .../sdk/util/RetryHttpRequestInitializer.java | 7 +- .../apache/beam/sdk/util/SerializableUtils.java | 15 +- .../org/apache/beam/sdk/util/Serializer.java | 2 - .../apache/beam/sdk/util/SideInputReader.java | 3 +- .../org/apache/beam/sdk/util/StringUtils.java | 6 +- .../java/org/apache/beam/sdk/util/Structs.java | 2 - .../beam/sdk/util/SystemDoFnInternal.java | 8 +- .../apache/beam/sdk/util/TestCredential.java | 1 - .../java/org/apache/beam/sdk/util/Timer.java | 56 + .../apache/beam/sdk/util/TimerInternals.java | 45 +- .../org/apache/beam/sdk/util/TimerSpec.java | 30 + .../org/apache/beam/sdk/util/TimerSpecs.java | 41 + .../java/org/apache/beam/sdk/util/Timers.java | 14 +- .../org/apache/beam/sdk/util/Transport.java | 25 +- .../beam/sdk/util/TriggerContextFactory.java | 511 ------ .../beam/sdk/util/UnownedInputStream.java | 1 - .../beam/sdk/util/UnownedOutputStream.java | 1 - .../sdk/util/UploadIdResponseInterceptor.java | 4 +- .../apache/beam/sdk/util/ValueWithRecordId.java | 19 +- .../java/org/apache/beam/sdk/util/Values.java | 1 - .../org/apache/beam/sdk/util/WindowedValue.java | 32 +- .../beam/sdk/util/WindowingInternals.java | 9 +- .../apache/beam/sdk/util/WindowingStrategy.java | 11 +- .../java/org/apache/beam/sdk/util/ZipFiles.java | 4 +- .../apache/beam/sdk/util/common/Counter.java | 1287 --------------- .../beam/sdk/util/common/CounterName.java | 153 -- .../beam/sdk/util/common/CounterProvider.java | 27 - .../apache/beam/sdk/util/common/CounterSet.java | 179 --- .../util/common/ElementByteSizeObserver.java | 24 +- .../beam/sdk/util/common/ReflectHelpers.java | 25 - .../apache/beam/sdk/util/common/Reiterable.java | 2 +- .../apache/beam/sdk/util/common/Reiterator.java | 2 +- .../org/apache/beam/sdk/util/gcsfs/GcsPath.java | 2 - .../CopyOnAccessInMemoryStateInternals.java | 18 +- .../sdk/util/state/InMemoryStateInternals.java | 13 +- .../sdk/util/state/InMemoryTimerInternals.java | 235 +++ .../sdk/util/state/MergingStateAccessor.java | 3 +- .../beam/sdk/util/state/ReadableState.java | 10 +- .../apache/beam/sdk/util/state/StateBinder.java | 67 + .../beam/sdk/util/state/StateContext.java | 6 +- .../beam/sdk/util/state/StateContexts.java | 3 +- .../sdk/util/state/StateInternalsFactory.java | 3 +- .../beam/sdk/util/state/StateMerging.java | 9 +- .../beam/sdk/util/state/StateNamespaces.java | 10 +- .../apache/beam/sdk/util/state/StateSpec.java | 39 + .../apache/beam/sdk/util/state/StateSpecs.java | 452 ++++++ .../apache/beam/sdk/util/state/StateTable.java | 4 +- .../apache/beam/sdk/util/state/StateTag.java | 87 +- .../apache/beam/sdk/util/state/StateTags.java | 396 +---- .../util/state/TestInMemoryStateInternals.java | 61 + .../beam/sdk/util/state/TimerCallback.java | 35 + .../beam/sdk/util/state/WatermarkHoldState.java | 1 - .../java/org/apache/beam/sdk/values/KV.java | 10 +- .../java/org/apache/beam/sdk/values/PBegin.java | 5 +- .../apache/beam/sdk/values/PCollectionList.java | 12 +- .../beam/sdk/values/PCollectionTuple.java | 12 +- .../apache/beam/sdk/values/PCollectionView.java | 33 +- .../java/org/apache/beam/sdk/values/PDone.java | 5 +- .../java/org/apache/beam/sdk/values/PInput.java | 11 +- .../org/apache/beam/sdk/values/POutput.java | 11 +- .../java/org/apache/beam/sdk/values/PValue.java | 4 +- .../org/apache/beam/sdk/values/PValueBase.java | 5 +- .../beam/sdk/values/TimestampedValue.java | 26 +- .../org/apache/beam/sdk/values/TupleTag.java | 13 +- .../apache/beam/sdk/values/TupleTagList.java | 4 +- .../apache/beam/sdk/values/TypeDescriptor.java | 2 - .../apache/beam/sdk/values/TypeDescriptors.java | 41 +- .../apache/beam/sdk/values/package-info.java | 4 +- .../dataflow/util/GcsPathValidatorTest.java | 104 -- .../sdk/AggregatorPipelineExtractorTest.java | 226 +++ .../org/apache/beam/sdk/DataflowMatchers.java | 66 - .../java/org/apache/beam/sdk/PipelineTest.java | 18 +- .../java/org/apache/beam/sdk/TestUtils.java | 10 +- .../org/apache/beam/sdk/WindowMatchers.java | 9 +- .../org/apache/beam/sdk/WindowMatchersTest.java | 4 +- .../apache/beam/sdk/coders/AvroCoderTest.java | 64 +- .../beam/sdk/coders/BigDecimalCoderTest.java | 6 +- .../sdk/coders/BigEndianIntegerCoderTest.java | 6 +- .../beam/sdk/coders/BigEndianLongCoderTest.java | 6 +- .../beam/sdk/coders/BigIntegerCoderTest.java | 6 +- .../beam/sdk/coders/ByteArrayCoderTest.java | 10 +- .../apache/beam/sdk/coders/ByteCoderTest.java | 6 +- .../beam/sdk/coders/ByteStringCoderTest.java | 11 +- .../beam/sdk/coders/CoderFactoriesTest.java | 5 +- .../beam/sdk/coders/CoderProvidersTest.java | 4 +- .../beam/sdk/coders/CoderRegistryTest.java | 32 +- .../org/apache/beam/sdk/coders/CoderTest.java | 4 +- .../beam/sdk/coders/CollectionCoderTest.java | 14 +- .../apache/beam/sdk/coders/CustomCoderTest.java | 12 +- .../beam/sdk/coders/DefaultCoderTest.java | 7 +- .../beam/sdk/coders/DelegateCoderTest.java | 11 +- .../apache/beam/sdk/coders/DoubleCoderTest.java | 6 +- .../beam/sdk/coders/DurationCoderTest.java | 9 +- .../beam/sdk/coders/InstantCoderTest.java | 15 +- .../beam/sdk/coders/IterableCoderTest.java | 10 +- .../apache/beam/sdk/coders/JAXBCoderTest.java | 29 +- .../org/apache/beam/sdk/coders/KvCoderTest.java | 108 +- .../apache/beam/sdk/coders/ListCoderTest.java | 10 +- .../apache/beam/sdk/coders/MapCoderTest.java | 17 +- .../beam/sdk/coders/NullableCoderTest.java | 73 +- .../beam/sdk/coders/PrintBase64Encodings.java | 4 +- .../beam/sdk/coders/SerializableCoderTest.java | 14 +- .../apache/beam/sdk/coders/SetCoderTest.java | 12 +- .../beam/sdk/coders/StandardCoderTest.java | 35 +- .../sdk/coders/StringDelegateCoderTest.java | 8 +- .../beam/sdk/coders/StringUtf8CoderTest.java | 6 +- .../beam/sdk/coders/TableRowJsonCoderTest.java | 9 +- .../sdk/coders/TextualIntegerCoderTest.java | 6 +- .../apache/beam/sdk/coders/VarIntCoderTest.java | 6 +- .../beam/sdk/coders/VarLongCoderTest.java | 6 +- .../sdk/coders/protobuf/ProtoCoderTest.java | 14 +- .../sdk/coders/protobuf/ProtobufUtilTest.java | 10 +- .../beam/sdk/io/AvroIOGeneratedClassTest.java | 26 +- .../java/org/apache/beam/sdk/io/AvroIOTest.java | 168 +- .../org/apache/beam/sdk/io/AvroSourceTest.java | 89 +- .../io/BoundedReadFromUnboundedSourceTest.java | 25 +- .../beam/sdk/io/CompressedSourceTest.java | 47 +- .../apache/beam/sdk/io/CountingInputTest.java | 2 - .../apache/beam/sdk/io/CountingSourceTest.java | 6 +- .../sdk/io/DrunkWritableByteChannelFactory.java | 80 + .../apache/beam/sdk/io/FileBasedSinkTest.java | 130 +- .../apache/beam/sdk/io/FileBasedSourceTest.java | 32 +- .../beam/sdk/io/OffsetBasedSourceTest.java | 41 +- .../org/apache/beam/sdk/io/PubsubIOTest.java | 7 +- .../beam/sdk/io/PubsubUnboundedSinkTest.java | 13 +- .../beam/sdk/io/PubsubUnboundedSourceTest.java | 19 +- .../java/org/apache/beam/sdk/io/ReadTest.java | 74 +- .../io/SerializableAvroCodecFactoryTest.java | 100 ++ .../java/org/apache/beam/sdk/io/TextIOTest.java | 702 ++++++--- .../java/org/apache/beam/sdk/io/WriteTest.java | 86 +- .../org/apache/beam/sdk/io/XmlSinkTest.java | 27 +- .../org/apache/beam/sdk/io/XmlSourceTest.java | 29 +- .../range/ByteKeyRangeEstimateFractionTest.java | 1 - .../range/ByteKeyRangeInterpolateKeyTest.java | 1 - .../beam/sdk/io/range/ByteKeyRangeTest.java | 6 +- .../apache/beam/sdk/io/range/ByteKeyTest.java | 3 +- .../beam/sdk/metrics/CounterCellTest.java | 55 + .../apache/beam/sdk/metrics/DirtyStateTest.java | 56 + .../beam/sdk/metrics/DistributionCellTest.java | 53 + .../apache/beam/sdk/metrics/MetricMatchers.java | 99 ++ .../beam/sdk/metrics/MetricsContainerTest.java | 129 ++ .../sdk/metrics/MetricsEnvironmentTest.java | 63 + .../apache/beam/sdk/metrics/MetricsMapTest.java | 103 ++ .../apache/beam/sdk/metrics/MetricsTest.java | 98 ++ .../apache/beam/sdk/options/GcpOptionsTest.java | 16 +- .../sdk/options/GoogleApiDebugOptionsTest.java | 8 +- .../sdk/options/PipelineOptionsFactoryTest.java | 211 ++- .../options/PipelineOptionsReflectorTest.java | 6 +- .../beam/sdk/options/PipelineOptionsTest.java | 55 +- .../options/PipelineOptionsValidatorTest.java | 19 +- .../sdk/options/ProxyInvocationHandlerTest.java | 171 +- .../beam/sdk/options/ValueProviderTest.java | 213 +++ .../sdk/options/ValueProviderUtilsTest.java | 78 + .../AggregatorPipelineExtractorTest.java | 229 --- .../beam/sdk/runners/PipelineRunnerTest.java | 1 - .../beam/sdk/runners/TransformTreeTest.java | 8 +- .../runners/dataflow/TestCountingSource.java | 13 +- .../dataflow/TestCountingSourceTest.java | 4 +- .../beam/sdk/testing/BigqueryMatcherTest.java | 176 +++ .../beam/sdk/testing/CoderPropertiesTest.java | 11 +- .../beam/sdk/testing/CrashingRunnerTest.java | 1 - .../apache/beam/sdk/testing/ExpectedLogs.java | 12 +- .../beam/sdk/testing/ExpectedLogsTest.java | 13 +- .../sdk/testing/FastNanoClockAndSleeper.java | 1 - .../testing/FastNanoClockAndSleeperTest.java | 3 +- .../sdk/testing/FileChecksumMatcherTest.java | 104 ++ .../apache/beam/sdk/testing/PAssertTest.java | 17 +- .../sdk/testing/PCollectionViewTesting.java | 47 +- .../beam/sdk/testing/PaneExtractorsTest.java | 4 +- .../sdk/testing/RestoreSystemProperties.java | 5 +- .../sdk/testing/SerializableMatchersTest.java | 12 +- .../beam/sdk/testing/SourceTestUtilsTest.java | 63 + .../beam/sdk/testing/StaticWindowsTest.java | 4 +- .../beam/sdk/testing/SystemNanoTimeSleeper.java | 3 +- .../sdk/testing/SystemNanoTimeSleeperTest.java | 1 - .../beam/sdk/testing/TestPipelineTest.java | 16 +- .../apache/beam/sdk/testing/TestStreamTest.java | 355 +++++ .../beam/sdk/testing/WindowSupplierTest.java | 16 +- .../transforms/ApproximateQuantilesTest.java | 13 +- .../sdk/transforms/ApproximateUniqueTest.java | 18 +- .../beam/sdk/transforms/CombineFnsTest.java | 25 +- .../apache/beam/sdk/transforms/CombineTest.java | 149 +- .../apache/beam/sdk/transforms/CountTest.java | 7 +- .../apache/beam/sdk/transforms/CreateTest.java | 26 +- .../DoFnDelegatingAggregatorTest.java | 6 +- .../beam/sdk/transforms/DoFnReflectorTest.java | 686 -------- .../apache/beam/sdk/transforms/DoFnTest.java | 34 +- .../beam/sdk/transforms/DoFnTesterTest.java | 469 +++--- .../apache/beam/sdk/transforms/FilterTest.java | 5 +- .../sdk/transforms/FlatMapElementsTest.java | 35 +- .../apache/beam/sdk/transforms/FlattenTest.java | 41 +- .../beam/sdk/transforms/GroupByKeyTest.java | 30 +- .../IntraBundleParallelizationTest.java | 283 ---- .../apache/beam/sdk/transforms/KeysTest.java | 4 +- .../apache/beam/sdk/transforms/KvSwapTest.java | 4 +- .../beam/sdk/transforms/LatestFnTest.java | 233 +++ .../apache/beam/sdk/transforms/LatestTest.java | 146 ++ .../beam/sdk/transforms/MapElementsTest.java | 23 +- .../org/apache/beam/sdk/transforms/MaxTest.java | 5 +- .../apache/beam/sdk/transforms/MeanTest.java | 10 +- .../org/apache/beam/sdk/transforms/MinTest.java | 5 +- .../apache/beam/sdk/transforms/NoOpOldDoFn.java | 3 +- .../apache/beam/sdk/transforms/OldDoFnTest.java | 10 +- .../beam/sdk/transforms/PTransformTest.java | 1 - .../beam/sdk/transforms/ParDoLifecycleTest.java | 447 ++++++ .../apache/beam/sdk/transforms/ParDoTest.java | 141 +- .../beam/sdk/transforms/PartitionTest.java | 9 +- .../sdk/transforms/RemoveDuplicatesTest.java | 10 +- .../apache/beam/sdk/transforms/SampleTest.java | 21 +- .../beam/sdk/transforms/SimpleStatsFnsTest.java | 7 +- .../org/apache/beam/sdk/transforms/SumTest.java | 5 +- .../org/apache/beam/sdk/transforms/TopTest.java | 13 +- .../apache/beam/sdk/transforms/ValuesTest.java | 4 +- .../apache/beam/sdk/transforms/ViewTest.java | 219 ++- .../beam/sdk/transforms/WithKeysTest.java | 6 +- .../beam/sdk/transforms/WithTimestampsTest.java | 4 +- .../display/DisplayDataEvaluator.java | 21 +- .../display/DisplayDataEvaluatorTest.java | 7 +- .../transforms/display/DisplayDataMatchers.java | 148 +- .../display/DisplayDataMatchersTest.java | 69 +- .../sdk/transforms/display/DisplayDataTest.java | 393 +++-- .../dofnreflector/DoFnReflectorTestHelper.java | 116 -- .../transforms/join/CoGbkResultCoderTest.java | 4 +- .../sdk/transforms/join/CoGbkResultTest.java | 6 +- .../sdk/transforms/join/CoGroupByKeyTest.java | 15 +- .../sdk/transforms/join/UnionCoderTest.java | 4 +- .../transforms/reflect/DoFnInvokersTest.java | 598 +++++++ .../DoFnSignaturesProcessElementTest.java | 213 +++ .../DoFnSignaturesSplittableDoFnTest.java | 543 +++++++ .../transforms/reflect/DoFnSignaturesTest.java | 883 +++++++++++ .../reflect/DoFnSignaturesTestUtils.java | 67 + .../testhelper/DoFnInvokersTestHelper.java | 124 ++ .../sdk/transforms/windowing/AfterAllTest.java | 99 -- .../sdk/transforms/windowing/AfterEachTest.java | 65 - .../transforms/windowing/AfterFirstTest.java | 121 -- .../sdk/transforms/windowing/AfterPaneTest.java | 78 - .../windowing/AfterProcessingTimeTest.java | 95 -- .../AfterSynchronizedProcessingTimeTest.java | 76 - .../windowing/AfterWatermarkTest.java | 309 ---- .../windowing/CalendarWindowsTest.java | 13 +- .../windowing/DefaultTriggerTest.java | 131 -- .../transforms/windowing/FixedWindowsTest.java | 11 +- .../windowing/IntervalWindowTest.java | 7 +- .../sdk/transforms/windowing/NeverTest.java | 35 +- .../windowing/OrFinallyTriggerTest.java | 137 -- .../sdk/transforms/windowing/PaneInfoTest.java | 1 - .../transforms/windowing/RepeatedlyTest.java | 162 +- .../sdk/transforms/windowing/SessionsTest.java | 16 +- .../windowing/SlidingWindowsTest.java | 11 +- .../sdk/transforms/windowing/StubTrigger.java | 21 +- .../sdk/transforms/windowing/TriggerTest.java | 33 +- .../sdk/transforms/windowing/WindowTest.java | 9 +- .../sdk/transforms/windowing/WindowingTest.java | 10 +- .../apache/beam/sdk/util/ApiSurfaceTest.java | 38 +- ...mptAndTimeBoundedExponentialBackOffTest.java | 5 +- .../AttemptBoundedExponentialBackOffTest.java | 2 +- .../org/apache/beam/sdk/util/AvroUtilsTest.java | 20 +- .../beam/sdk/util/BucketingFunctionTest.java | 1 - ...BufferedElementCountingOutputStreamTest.java | 19 +- .../apache/beam/sdk/util/CoderUtilsTest.java | 7 +- .../apache/beam/sdk/util/CombineFnUtilTest.java | 13 +- .../beam/sdk/util/CounterAggregatorTest.java | 256 --- .../beam/sdk/util/ExecutableTriggerTest.java | 24 +- .../util/ExposedByteArrayInputStreamTest.java | 5 +- .../util/ExposedByteArrayOutputStreamTest.java | 5 +- .../beam/sdk/util/FileIOChannelFactoryTest.java | 16 +- .../sdk/util/FinishedTriggersBitSetTest.java | 55 - .../sdk/util/FinishedTriggersProperties.java | 110 -- .../beam/sdk/util/FinishedTriggersSetTest.java | 61 - .../apache/beam/sdk/util/FluentBackoffTest.java | 226 +++ .../beam/sdk/util/GatherAllPanesTest.java | 7 +- .../beam/sdk/util/GcpProjectUtilTest.java | 76 + .../beam/sdk/util/GcsIOChannelFactoryTest.java | 1 - .../beam/sdk/util/GcsPathValidatorTest.java | 100 ++ .../org/apache/beam/sdk/util/GcsUtilTest.java | 214 ++- .../beam/sdk/util/IOChannelUtilsTest.java | 6 +- .../sdk/util/IdentitySideInputWindowFn.java | 5 +- .../beam/sdk/util/InstanceBuilderTest.java | 1 - .../beam/sdk/util/KeyedWorkItemCoderTest.java | 4 +- .../sdk/util/MergingActiveWindowSetTest.java | 13 +- .../beam/sdk/util/MovingFunctionTest.java | 1 - .../beam/sdk/util/MutationDetectorsTest.java | 17 +- .../org/apache/beam/sdk/util/PTupleTest.java | 1 - .../apache/beam/sdk/util/PubsubClientTest.java | 10 +- .../beam/sdk/util/PubsubGrpcClientTest.java | 126 +- .../beam/sdk/util/PubsubJsonClientTest.java | 34 +- .../beam/sdk/util/PubsubTestClientTest.java | 18 +- .../org/apache/beam/sdk/util/ReshuffleTest.java | 7 +- .../beam/sdk/util/ReshuffleTriggerTest.java | 24 - .../util/RetryHttpRequestInitializerTest.java | 12 +- .../beam/sdk/util/SerializableUtilsTest.java | 19 +- .../apache/beam/sdk/util/StreamUtilsTest.java | 9 +- .../apache/beam/sdk/util/StringUtilsTest.java | 1 - .../org/apache/beam/sdk/util/StructsTest.java | 11 +- .../beam/sdk/util/TimerInternalsTest.java | 48 +- .../org/apache/beam/sdk/util/TriggerTester.java | 597 ------- .../beam/sdk/util/UnownedInputStreamTest.java | 3 +- .../beam/sdk/util/UnownedOutputStreamTest.java | 3 +- .../util/UploadIdResponseInterceptorTest.java | 7 +- .../beam/sdk/util/UserCodeExceptionTest.java | 3 +- .../org/apache/beam/sdk/util/VarIntTest.java | 9 +- .../apache/beam/sdk/util/WindowedValueTest.java | 9 +- .../org/apache/beam/sdk/util/ZipFilesTest.java | 14 +- .../beam/sdk/util/common/CounterSetTest.java | 227 --- .../beam/sdk/util/common/CounterTest.java | 736 --------- .../sdk/util/common/ReflectHelpersTest.java | 6 +- .../apache/beam/sdk/util/gcsfs/GcsPathTest.java | 11 +- .../CopyOnAccessInMemoryStateInternalsTest.java | 1 - .../util/state/InMemoryStateInternalsTest.java | 4 +- .../util/state/InMemoryTimerInternalsTest.java | 116 ++ .../sdk/util/state/StateNamespacesTest.java | 1 - .../beam/sdk/util/state/StateTagTest.java | 1 - .../java/org/apache/beam/sdk/values/KVTest.java | 4 +- .../beam/sdk/values/PCollectionListTest.java | 3 +- .../beam/sdk/values/PCollectionTupleTest.java | 8 +- .../org/apache/beam/sdk/values/PDoneTest.java | 4 +- .../beam/sdk/values/TimestampedValueTest.java | 83 + .../beam/sdk/values/TypeDescriptorTest.java | 10 +- .../beam/sdk/values/TypeDescriptorsTest.java | 6 +- .../apache/beam/sdk/values/TypedPValueTest.java | 1 - sdks/java/extensions/join-library/pom.xml | 2 +- .../extensions/joinlibrary/InnerJoinTest.java | 6 +- .../joinlibrary/OuterLeftJoinTest.java | 6 +- .../joinlibrary/OuterRightJoinTest.java | 6 +- sdks/java/extensions/pom.xml | 2 +- sdks/java/io/google-cloud-platform/pom.xml | 20 +- .../sdk/io/gcp/bigquery/BigQueryAvroUtils.java | 86 +- .../beam/sdk/io/gcp/bigquery/BigQueryIO.java | 448 +++--- .../sdk/io/gcp/bigquery/BigQueryServices.java | 20 +- .../io/gcp/bigquery/BigQueryServicesImpl.java | 271 ++-- .../io/gcp/bigquery/BigQueryTableInserter.java | 14 +- .../gcp/bigquery/BigQueryTableRowIterator.java | 145 +- .../beam/sdk/io/gcp/bigtable/BigtableIO.java | 116 +- .../sdk/io/gcp/bigtable/BigtableService.java | 15 +- .../io/gcp/bigtable/BigtableServiceImpl.java | 20 +- .../beam/sdk/io/gcp/datastore/DatastoreIO.java | 14 +- .../beam/sdk/io/gcp/datastore/DatastoreV1.java | 1028 ++++++++++++ .../beam/sdk/io/gcp/datastore/V1Beta3.java | 969 ------------ .../beam/sdk/io/gcp/datastore/package-info.java | 2 +- .../io/gcp/bigquery/BigQueryAvroUtilsTest.java | 160 +- .../sdk/io/gcp/bigquery/BigQueryIOTest.java | 869 ++++++++-- .../gcp/bigquery/BigQueryServicesImplTest.java | 193 ++- .../gcp/bigquery/BigQueryTableInserterTest.java | 20 +- .../bigquery/BigQueryTableRowIteratorTest.java | 179 ++- .../sdk/io/gcp/bigquery/BigQueryUtilTest.java | 19 +- .../sdk/io/gcp/bigtable/BigtableIOTest.java | 160 +- .../sdk/io/gcp/bigtable/BigtableReadIT.java | 6 +- .../sdk/io/gcp/bigtable/BigtableWriteIT.java | 29 +- .../sdk/io/gcp/datastore/DatastoreV1Test.java | 837 ++++++++++ .../sdk/io/gcp/datastore/SplitQueryFnIT.java | 97 ++ .../sdk/io/gcp/datastore/V1Beta3ReadIT.java | 114 -- .../beam/sdk/io/gcp/datastore/V1Beta3Test.java | 587 ------- .../io/gcp/datastore/V1Beta3TestOptions.java | 44 - .../sdk/io/gcp/datastore/V1Beta3TestUtil.java | 382 ----- .../sdk/io/gcp/datastore/V1Beta3WriteIT.java | 85 - .../beam/sdk/io/gcp/datastore/V1ReadIT.java | 111 ++ .../sdk/io/gcp/datastore/V1TestOptions.java | 43 + .../beam/sdk/io/gcp/datastore/V1TestUtil.java | 382 +++++ .../beam/sdk/io/gcp/datastore/V1WriteIT.java | 83 + sdks/java/io/hdfs/pom.xml | 7 +- .../beam/sdk/io/hdfs/AvroHDFSFileSource.java | 25 +- .../beam/sdk/io/hdfs/AvroWrapperCoder.java | 18 +- .../apache/beam/sdk/io/hdfs/HDFSFileSink.java | 17 +- .../apache/beam/sdk/io/hdfs/HDFSFileSource.java | 40 +- .../apache/beam/sdk/io/hdfs/WritableCoder.java | 14 +- .../SimpleAuthAvroHDFSFileSource.java | 14 +- .../hdfs/simpleauth/SimpleAuthHDFSFileSink.java | 5 +- .../simpleauth/SimpleAuthHDFSFileSource.java | 19 +- .../beam/sdk/io/hdfs/AvroWrapperCoderTest.java | 5 +- .../beam/sdk/io/hdfs/HDFSFileSourceTest.java | 12 +- .../beam/sdk/io/hdfs/WritableCoderTest.java | 1 - sdks/java/io/jdbc/pom.xml | 138 ++ .../org/apache/beam/sdk/io/jdbc/JdbcIO.java | 443 ++++++ .../apache/beam/sdk/io/jdbc/package-info.java | 22 + .../org/apache/beam/sdk/io/jdbc/JdbcIOTest.java | 271 ++++ sdks/java/io/jms/pom.xml | 2 +- .../beam/sdk/io/jms/JmsCheckpointMark.java | 9 +- .../java/org/apache/beam/sdk/io/jms/JmsIO.java | 58 +- .../org/apache/beam/sdk/io/jms/JmsRecord.java | 1 - .../org/apache/beam/sdk/io/jms/JmsIOTest.java | 25 +- sdks/java/io/kafka/pom.xml | 2 +- .../beam/sdk/io/kafka/KafkaCheckpointMark.java | 16 +- .../org/apache/beam/sdk/io/kafka/KafkaIO.java | 189 ++- .../apache/beam/sdk/io/kafka/KafkaRecord.java | 3 +- .../beam/sdk/io/kafka/KafkaRecordCoder.java | 14 +- .../apache/beam/sdk/io/kafka/KafkaIOTest.java | 199 ++- sdks/java/io/kinesis/pom.xml | 178 +++ .../sdk/io/kinesis/CheckpointGenerator.java | 30 + .../beam/sdk/io/kinesis/CustomOptional.java | 86 + .../io/kinesis/DynamicCheckpointGenerator.java | 56 + .../sdk/io/kinesis/GetKinesisRecordsResult.java | 54 + .../sdk/io/kinesis/KinesisClientProvider.java | 31 + .../apache/beam/sdk/io/kinesis/KinesisIO.java | 192 +++ .../beam/sdk/io/kinesis/KinesisReader.java | 145 ++ .../sdk/io/kinesis/KinesisReaderCheckpoint.java | 96 ++ .../beam/sdk/io/kinesis/KinesisRecord.java | 121 ++ .../beam/sdk/io/kinesis/KinesisRecordCoder.java | 74 + .../beam/sdk/io/kinesis/KinesisSource.java | 112 ++ .../beam/sdk/io/kinesis/RecordFilter.java | 41 + .../apache/beam/sdk/io/kinesis/RoundRobin.java | 53 + .../beam/sdk/io/kinesis/ShardCheckpoint.java | 175 ++ .../sdk/io/kinesis/ShardRecordsIterator.java | 98 ++ .../sdk/io/kinesis/SimplifiedKinesisClient.java | 157 ++ .../beam/sdk/io/kinesis/StartingPoint.java | 85 + .../io/kinesis/StaticCheckpointGenerator.java | 42 + .../io/kinesis/TransientKinesisException.java | 29 + .../beam/sdk/io/kinesis/package-info.java | 22 + .../beam/sdk/io/kinesis/AmazonKinesisMock.java | 375 +++++ .../beam/sdk/io/kinesis/CustomOptionalTest.java | 31 + .../kinesis/DynamicCheckpointGeneratorTest.java | 57 + .../sdk/io/kinesis/KinesisMockReadTest.java | 91 ++ .../io/kinesis/KinesisReaderCheckpointTest.java | 67 + .../beam/sdk/io/kinesis/KinesisReaderIT.java | 119 ++ .../beam/sdk/io/kinesis/KinesisReaderTest.java | 120 ++ .../sdk/io/kinesis/KinesisRecordCoderTest.java | 45 + .../beam/sdk/io/kinesis/KinesisTestOptions.java | 47 + .../beam/sdk/io/kinesis/KinesisUploader.java | 83 + .../beam/sdk/io/kinesis/RecordFilterTest.java | 66 + .../beam/sdk/io/kinesis/RoundRobinTest.java | 57 + .../sdk/io/kinesis/ShardCheckpointTest.java | 149 ++ .../io/kinesis/ShardRecordsIteratorTest.java | 151 ++ .../io/kinesis/SimplifiedKinesisClientTest.java | 224 +++ sdks/java/io/mongodb/pom.xml | 139 ++ .../beam/sdk/io/mongodb/MongoDbGridFSIO.java | 449 ++++++ .../apache/beam/sdk/io/mongodb/MongoDbIO.java | 503 ++++++ .../beam/sdk/io/mongodb/package-info.java | 22 + .../sdk/io/mongodb/MongoDBGridFSIOTest.java | 276 ++++ .../beam/sdk/io/mongodb/MongoDbIOTest.java | 208 +++ sdks/java/io/pom.xml | 5 +- sdks/java/java8tests/pom.xml | 2 +- .../PipelineOptionsFactoryJava8Test.java | 8 +- .../beam/sdk/transforms/CombineJava8Test.java | 7 +- .../beam/sdk/transforms/FilterJava8Test.java | 4 +- .../transforms/FlatMapElementsJava8Test.java | 9 +- .../sdk/transforms/MapElementsJava8Test.java | 4 +- .../beam/sdk/transforms/PartitionJava8Test.java | 4 +- .../transforms/RemoveDuplicatesJava8Test.java | 11 +- .../beam/sdk/transforms/WithKeysJava8Test.java | 1 - .../sdk/transforms/WithTimestampsJava8Test.java | 10 +- sdks/java/maven-archetypes/examples/pom.xml | 27 +- .../main/resources/archetype-resources/pom.xml | 26 +- .../src/main/java/DebuggingWordCount.java | 41 +- .../src/main/java/MinimalWordCount.java | 50 +- .../src/main/java/WindowedWordCount.java | 156 +- .../src/main/java/WordCount.java | 79 +- .../java/common/DataflowExampleOptions.java | 32 - .../main/java/common/DataflowExampleUtils.java | 394 ----- .../common/ExampleBigQueryTableOptions.java | 14 +- .../src/main/java/common/ExampleOptions.java | 32 + ...xamplePubsubTopicAndSubscriptionOptions.java | 45 + .../java/common/ExamplePubsubTopicOptions.java | 17 +- .../src/main/java/common/ExampleUtils.java | 353 +++++ .../main/java/common/PubsubFileInjector.java | 155 -- .../src/test/java/DebuggingWordCountTest.java | 6 +- .../src/test/java/WordCountTest.java | 14 +- sdks/java/maven-archetypes/pom.xml | 2 +- sdks/java/maven-archetypes/starter/pom.xml | 10 +- .../main/resources/archetype-resources/pom.xml | 8 +- .../src/main/java/StarterPipeline.java | 1 - .../resources/projects/basic/reference/pom.xml | 8 +- .../src/main/java/it/pkg/StarterPipeline.java | 1 - sdks/java/microbenchmarks/pom.xml | 2 +- .../coders/AvroCoderBenchmark.java | 6 +- .../coders/ByteArrayCoderBenchmark.java | 6 +- .../coders/CoderBenchmarking.java | 3 +- .../coders/StringUtf8CoderBenchmark.java | 6 +- .../transforms/DoFnInvokersBenchmark.java | 231 +++ .../transforms/DoFnReflectorBenchmark.java | 243 --- sdks/java/pom.xml | 2 +- sdks/pom.xml | 2 +- sdks/python/pom.xml | 2 +- testing/travis/README.md | 23 - testing/travis/test_wordcount.sh | 125 -- 1288 files changed, 69863 insertions(+), 41391 deletions(-) ----------------------------------------------------------------------