This closes #3314
Project: http://git-wip-us.apache.org/repos/asf/beam/repo Commit: http://git-wip-us.apache.org/repos/asf/beam/commit/4c5b7584 Tree: http://git-wip-us.apache.org/repos/asf/beam/tree/4c5b7584 Diff: http://git-wip-us.apache.org/repos/asf/beam/diff/4c5b7584 Branch: refs/heads/DSL_SQL Commit: 4c5b7584afac5dff2abf5c83bccd066164db3c5e Parents: fcc80ce 32f22b7 Author: Davor Bonaci <[email protected]> Authored: Wed Jun 7 18:33:58 2017 -0700 Committer: Davor Bonaci <[email protected]> Committed: Wed Jun 7 18:33:58 2017 -0700 ---------------------------------------------------------------------- .gitignore | 2 + .../jenkins/common_job_properties.groovy | 35 +- .../job_beam_PerformanceTests_Dataflow.groovy | 3 + ..._beam_PostCommit_Java_JDKVersionsTest.groovy | 60 + ...job_beam_PostCommit_Java_MavenInstall.groovy | 2 +- ..._PostCommit_Java_MavenInstall_Windows.groovy | 45 + ...tCommit_Java_ValidatesRunner_Dataflow.groovy | 2 +- .../job_beam_PreCommit_Java_MavenInstall.groovy | 5 +- .../job_beam_Release_NightlySnapshot.groovy | 2 +- .../cassandra/LargeITCluster/setup.sh | 21 + .../cassandra/LargeITCluster/start-up.sh | 22 - .../cassandra/LargeITCluster/teardown.sh | 1 - .../cassandra/SmallITCluster/setup.sh | 22 + .../cassandra/SmallITCluster/start-up.sh | 23 - .../cassandra/SmallITCluster/teardown.sh | 1 - .../LargeProductionCluster/setup.sh | 21 + .../LargeProductionCluster/start-up.sh | 22 - .../LargeProductionCluster/teardown.sh | 1 - .../elasticsearch/SmallITCluster/setup.sh | 22 + .../elasticsearch/SmallITCluster/start-up.sh | 23 - .../elasticsearch/SmallITCluster/teardown.sh | 1 - README.md | 4 +- examples/java/README.md | 64 +- examples/java/pom.xml | 53 +- .../apache/beam/examples/WindowedWordCount.java | 7 +- .../beam/examples/common/ExampleUtils.java | 6 +- .../examples/common/WriteOneFilePerWindow.java | 24 +- .../org/apache/beam/examples/complete/README.md | 2 +- .../apache/beam/examples/complete/TfIdf.java | 2 +- .../org/apache/beam/examples/cookbook/README.md | 2 +- .../beam/examples/WindowedWordCountIT.java | 26 +- .../beam/examples/complete/TfIdfTest.java | 2 +- examples/java8/pom.xml | 124 +- .../beam/examples/complete/game/GameStats.java | 15 +- .../examples/complete/game/HourlyTeamScore.java | 58 +- .../examples/complete/game/LeaderBoard.java | 62 +- .../beam/examples/complete/game/README.md | 131 - .../beam/examples/complete/game/UserScore.java | 74 +- .../complete/game/utils/WriteToBigQuery.java | 32 +- .../complete/game/utils/WriteToText.java | 184 ++ .../game/utils/WriteWindowedToBigQuery.java | 9 +- examples/pom.xml | 2 +- pom.xml | 173 +- runners/apex/README.md | 76 - runners/apex/pom.xml | 15 +- .../beam/runners/apex/ApexPipelineOptions.java | 5 + .../apache/beam/runners/apex/ApexRunner.java | 173 +- .../beam/runners/apex/ApexRunnerRegistrar.java | 3 +- .../beam/runners/apex/ApexRunnerResult.java | 2 - .../beam/runners/apex/ApexYarnLauncher.java | 2 - .../beam/runners/apex/TestApexRunner.java | 10 +- .../translation/ApexPipelineTranslator.java | 28 +- .../apex/translation/ParDoTranslator.java | 67 +- .../translation/ReadUnboundedTranslator.java | 1 - .../apex/translation/TransformTranslator.java | 2 - .../apex/translation/TranslationContext.java | 102 +- .../operators/ApexGroupByKeyOperator.java | 14 +- .../operators/ApexParDoOperator.java | 130 +- .../operators/ApexProcessFnOperator.java | 8 +- .../ApexReadUnboundedInputOperator.java | 2 - .../operators/ApexTimerInternals.java | 23 +- .../translation/utils/ApexStateInternals.java | 24 +- .../apex/translation/utils/ApexStreamTuple.java | 16 +- .../utils/CoderAdapterStreamCodec.java | 2 - .../apex/translation/utils/NoOpStepContext.java | 37 +- .../utils/SerializablePipelineOptions.java | 19 +- .../translation/utils/StateInternalsProxy.java | 11 +- .../utils/ValueAndCoderKryoSerializable.java | 2 - .../apex/translation/utils/ValuesSource.java | 2 - .../beam/runners/apex/ApexRunnerTest.java | 49 +- .../beam/runners/apex/ApexYarnLauncherTest.java | 2 - .../apex/examples/UnboundedTextSource.java | 2 - .../runners/apex/examples/WordCountTest.java | 2 - .../translation/ApexGroupByKeyOperatorTest.java | 4 +- .../FlattenPCollectionTranslatorTest.java | 13 +- .../apex/translation/ParDoTranslatorTest.java | 2 +- .../operators/ApexTimerInternalsTest.java | 10 +- .../utils/ApexStateInternalsTest.java | 12 +- .../translation/utils/CollectionSource.java | 2 - .../translation/utils/PipelineOptionsTest.java | 98 +- .../test/resources/beam-runners-apex.properties | 2 +- runners/core-construction-java/pom.xml | 14 +- .../core/construction/CoderTranslation.java | 193 ++ .../beam/runners/core/construction/Coders.java | 193 -- .../core/construction/CombineTranslation.java | 125 + .../CreatePCollectionViewTranslation.java | 126 + .../DeduplicatedFlattenFactory.java | 2 +- .../construction/ElementAndRestriction.java | 42 + .../ElementAndRestrictionCoder.java | 88 + .../EmptyFlattenAsCreateFactory.java | 2 +- .../core/construction/FlattenTranslator.java | 63 + .../construction/GroupByKeyTranslation.java | 62 + .../construction/PCollectionTranslation.java | 98 + .../runners/core/construction/PCollections.java | 97 - .../core/construction/PTransformMatchers.java | 2 +- .../construction/PTransformReplacements.java | 2 +- .../construction/PTransformTranslation.java | 253 ++ .../runners/core/construction/PTransforms.java | 107 - .../core/construction/ParDoTranslation.java | 560 ++++ .../core/construction/PrimitiveCreate.java | 4 +- .../core/construction/ReadTranslation.java | 242 ++ .../construction/RunnerPCollectionView.java | 88 + .../core/construction/SdkComponents.java | 68 +- .../core/construction/SplittableParDo.java | 313 ++ .../construction/TestStreamTranslation.java | 156 + .../TransformPayloadTranslatorRegistrar.java | 29 + .../core/construction/TriggerTranslation.java | 336 ++ .../runners/core/construction/Triggers.java | 336 -- .../UnboundedReadFromBoundedSource.java | 16 +- .../UnsupportedOverrideFactory.java | 2 +- .../construction/WindowIntoTranslation.java | 109 + .../core/construction/WindowingStrategies.java | 275 -- .../WindowingStrategyTranslation.java | 371 +++ .../construction/WriteFilesTranslation.java | 152 + .../runners/core/metrics/MetricFiltering.java | 102 + .../beam/runners/core/metrics/MetricKey.java | 43 + .../beam/runners/core/metrics/package-info.java | 22 + .../core/construction/CoderTranslationTest.java | 165 + .../runners/core/construction/CodersTest.java | 174 -- .../construction/CombineTranslationTest.java | 130 + .../CreatePCollectionViewTranslationTest.java | 136 + .../ElementAndRestrictionCoderTest.java | 126 + .../EmptyFlattenAsCreateFactoryTest.java | 2 +- .../construction/GroupByKeyTranslationTest.java | 44 + .../PCollectionTranslationTest.java | 203 ++ .../core/construction/PCollectionsTest.java | 188 -- .../construction/PTransformMatchersTest.java | 32 +- .../PTransformReplacementsTest.java | 2 +- .../construction/PTransformTranslationTest.java | 189 ++ .../core/construction/PTransformsTest.java | 188 -- .../core/construction/ParDoTranslationTest.java | 329 ++ .../core/construction/ReadTranslationTest.java | 179 ++ .../construction/ReplacementOutputsTest.java | 2 +- .../core/construction/SdkComponentsTest.java | 101 +- .../SingleInputOutputOverrideFactoryTest.java | 2 +- .../core/construction/SplittableParDoTest.java | 157 + .../construction/TestStreamTranslationTest.java | 129 + .../construction/TriggerTranslationTest.java | 112 + .../runners/core/construction/TriggersTest.java | 111 - .../construction/WindowIntoTranslationTest.java | 127 + .../construction/WindowingStrategiesTest.java | 110 - .../WindowingStrategyTranslationTest.java | 120 + .../construction/WriteFilesTranslationTest.java | 186 ++ .../core/metrics/MetricFilteringTest.java | 148 + runners/core-java/pom.xml | 2 +- .../beam/runners/core/AssignWindowsDoFn.java | 78 - .../beam/runners/core/BaseExecutionContext.java | 173 -- .../apache/beam/runners/core/DoFnAdapters.java | 310 -- .../apache/beam/runners/core/DoFnRunner.java | 2 +- .../apache/beam/runners/core/DoFnRunners.java | 34 +- .../runners/core/ElementAndRestriction.java | 42 - .../core/ElementAndRestrictionCoder.java | 75 - .../beam/runners/core/ExecutionContext.java | 99 - .../runners/core/GlobalCombineFnRunner.java | 1 - .../runners/core/GlobalCombineFnRunners.java | 41 +- .../GroupAlsoByWindowViaOutputBufferDoFn.java | 113 - .../core/GroupAlsoByWindowViaWindowSetDoFn.java | 94 - .../GroupAlsoByWindowViaWindowSetNewDoFn.java | 13 +- .../core/GroupAlsoByWindowsAggregators.java | 26 + .../runners/core/GroupAlsoByWindowsDoFn.java | 39 - .../core/GroupByKeyViaGroupByKeyOnly.java | 2 +- .../runners/core/InMemoryStateInternals.java | 22 +- .../runners/core/InMemoryTimerInternals.java | 2 +- .../beam/runners/core/KeyedWorkItemCoder.java | 22 +- .../core/LateDataDroppingDoFnRunner.java | 9 +- .../apache/beam/runners/core/LateDataUtils.java | 37 +- .../runners/core/MergingActiveWindowSet.java | 2 +- .../beam/runners/core/MergingStateAccessor.java | 2 +- .../apache/beam/runners/core/NonEmptyPanes.java | 8 +- .../beam/runners/core/NullSideInputReader.java | 61 + .../org/apache/beam/runners/core/OldDoFn.java | 335 -- ...eBoundedSplittableProcessElementInvoker.java | 18 +- .../beam/runners/core/PaneInfoTracker.java | 4 +- .../beam/runners/core/ProcessFnRunner.java | 10 +- .../core/PushbackSideInputDoFnRunner.java | 2 +- .../core/ReadyCheckingSideInputReader.java | 34 + .../org/apache/beam/runners/core/ReduceFn.java | 6 +- .../runners/core/ReduceFnContextFactory.java | 13 +- .../beam/runners/core/ReduceFnRunner.java | 50 +- .../beam/runners/core/SideInputHandler.java | 15 +- .../beam/runners/core/SideInputReader.java | 47 + .../beam/runners/core/SimpleDoFnRunner.java | 485 ++- .../beam/runners/core/SimpleOldDoFnRunner.java | 500 --- .../core/SimplePushbackSideInputDoFnRunner.java | 3 +- .../beam/runners/core/SplittableParDo.java | 593 ---- .../core/SplittableParDoViaKeyedWorkItems.java | 426 +++ .../apache/beam/runners/core/StateAccessor.java | 2 +- .../beam/runners/core/StateInternals.java | 4 +- .../apache/beam/runners/core/StateMerging.java | 14 +- .../apache/beam/runners/core/StateTable.java | 4 +- .../org/apache/beam/runners/core/StateTag.java | 16 +- .../org/apache/beam/runners/core/StateTags.java | 20 +- .../beam/runners/core/StatefulDoFnRunner.java | 14 +- .../apache/beam/runners/core/StepContext.java | 33 + .../beam/runners/core/SystemReduceFn.java | 8 +- .../core/TestInMemoryStateInternals.java | 4 +- .../beam/runners/core/TimerInternals.java | 30 +- .../core/UnsupportedSideInputReader.java | 1 - .../apache/beam/runners/core/WatermarkHold.java | 15 +- .../core/WindowingInternalsAdapters.java | 75 - .../beam/runners/core/metrics/CounterCell.java | 90 + .../beam/runners/core/metrics/DirtyState.java | 101 + .../runners/core/metrics/DistributionCell.java | 84 + .../runners/core/metrics/DistributionData.java | 62 + .../beam/runners/core/metrics/GaugeCell.java | 81 + .../beam/runners/core/metrics/GaugeData.java | 83 + .../beam/runners/core/metrics/MetricCell.java | 42 + .../runners/core/metrics/MetricUpdates.java | 79 + .../core/metrics/MetricsContainerImpl.java | 190 ++ .../core/metrics/MetricsContainerStepMap.java | 495 +++ .../beam/runners/core/metrics/MetricsMap.java | 88 + .../beam/runners/core/metrics/package-info.java | 22 + .../AfterDelayFromFirstElementStateMachine.java | 6 +- .../core/triggers/AfterPaneStateMachine.java | 2 +- .../AfterProcessingTimeStateMachine.java | 2 +- ...rSynchronizedProcessingTimeStateMachine.java | 2 +- .../triggers/AfterWatermarkStateMachine.java | 2 +- .../triggers/DefaultTriggerStateMachine.java | 2 +- .../triggers/ReshuffleTriggerStateMachine.java | 2 +- .../core/triggers/TriggerStateMachine.java | 2 +- .../TriggerStateMachineContextFactory.java | 6 +- .../triggers/TriggerStateMachineRunner.java | 4 +- runners/core-java/src/test/java/.placeholder | 0 .../core/ElementAndRestrictionCoderTest.java | 127 - ...roupAlsoByWindowViaOutputBufferDoFnTest.java | 109 - .../core/GroupAlsoByWindowsProperties.java | 744 ----- .../core/InMemoryStateInternalsTest.java | 16 +- .../core/InMemoryTimerInternalsTest.java | 2 +- .../runners/core/KeyedWorkItemCoderTest.java | 2 +- .../core/LateDataDroppingDoFnRunnerTest.java | 11 +- .../beam/runners/core/LateDataUtilsTest.java | 90 + .../apache/beam/runners/core/NoOpOldDoFn.java | 65 - .../apache/beam/runners/core/OldDoFnTest.java | 51 - ...ndedSplittableProcessElementInvokerTest.java | 1 - .../beam/runners/core/ReduceFnRunnerTest.java | 41 +- .../beam/runners/core/ReduceFnTester.java | 18 +- .../beam/runners/core/SideInputHandlerTest.java | 2 +- .../beam/runners/core/SimpleDoFnRunnerTest.java | 21 +- .../runners/core/SimpleOldDoFnRunnerTest.java | 86 - .../SimplePushbackSideInputDoFnRunnerTest.java | 3 +- .../core/SplittableParDoProcessFnTest.java | 515 ++++ .../beam/runners/core/SplittableParDoTest.java | 607 ---- .../runners/core/StatefulDoFnRunnerTest.java | 23 +- .../beam/runners/core/TimerInternalsTest.java | 2 +- .../runners/core/metrics/CounterCellTest.java | 56 + .../runners/core/metrics/DirtyStateTest.java | 56 + .../core/metrics/DistributionCellTest.java | 54 + .../runners/core/metrics/GaugeCellTest.java | 51 + .../core/metrics/MetricUpdateMatchers.java | 82 + .../core/metrics/MetricsContainerImplTest.java | 130 + .../metrics/MetricsContainerStepMapTest.java | 272 ++ .../runners/core/metrics/MetricsMapTest.java | 103 + .../triggers/TriggerStateMachineTester.java | 6 +- .../core/triggers/TriggerStateMachinesTest.java | 2 +- runners/direct-java/pom.xml | 101 +- .../direct/BoundedReadEvaluatorFactory.java | 29 +- .../beam/runners/direct/CommittedResult.java | 2 +- .../beam/runners/direct/CompletionCallback.java | 8 +- .../CopyOnAccessInMemoryStateInternals.java | 18 +- .../runners/direct/DirectExecutionContext.java | 35 +- ...ectGBKIntoKeyedWorkItemsOverrideFactory.java | 11 +- .../apache/beam/runners/direct/DirectGraph.java | 28 +- .../beam/runners/direct/DirectGraphVisitor.java | 30 +- .../beam/runners/direct/DirectGroupByKey.java | 22 +- .../direct/DirectGroupByKeyOverrideFactory.java | 2 +- .../beam/runners/direct/DirectMetrics.java | 24 +- .../beam/runners/direct/DirectOptions.java | 2 +- .../beam/runners/direct/DirectRegistrar.java | 12 +- .../beam/runners/direct/DirectRunner.java | 50 +- .../runners/direct/DirectTimerInternals.java | 2 +- .../runners/direct/DisplayDataValidator.java | 6 +- .../runners/direct/DoFnLifecycleManager.java | 2 +- .../beam/runners/direct/EmptyInputProvider.java | 10 +- .../beam/runners/direct/EvaluationContext.java | 57 +- .../direct/ExecutorServiceParallelExecutor.java | 41 +- .../runners/direct/FlattenEvaluatorFactory.java | 2 +- .../GroupAlsoByWindowEvaluatorFactory.java | 40 +- .../direct/GroupByKeyOnlyEvaluatorFactory.java | 2 +- .../direct/ImmutabilityEnforcementFactory.java | 2 +- .../direct/KeyedPValueTrackingVisitor.java | 11 +- .../beam/runners/direct/ModelEnforcement.java | 2 +- .../runners/direct/ModelEnforcementFactory.java | 2 +- .../runners/direct/PCollectionViewWindow.java | 67 + .../beam/runners/direct/ParDoEvaluator.java | 24 +- .../runners/direct/ParDoEvaluatorFactory.java | 4 +- .../direct/ParDoMultiOverrideFactory.java | 18 +- .../direct/PassthroughTransformEvaluator.java | 2 +- .../beam/runners/direct/PipelineExecutor.java | 2 +- .../runners/direct/ReadEvaluatorFactory.java | 97 + .../beam/runners/direct/RootInputProvider.java | 9 +- .../runners/direct/RootProviderRegistry.java | 30 +- .../beam/runners/direct/SideInputContainer.java | 7 +- .../apache/beam/runners/direct/SourceShard.java | 33 + ...littableProcessElementsEvaluatorFactory.java | 30 +- .../direct/StatefulParDoEvaluatorFactory.java | 8 +- .../apache/beam/runners/direct/StepAndKey.java | 2 +- .../runners/direct/StepTransformResult.java | 4 +- .../direct/TestStreamEvaluatorFactory.java | 31 +- .../direct/TransformEvaluatorFactory.java | 2 +- .../direct/TransformEvaluatorRegistry.java | 132 +- .../beam/runners/direct/TransformExecutor.java | 24 +- .../beam/runners/direct/TransformResult.java | 4 +- .../direct/UnboundedReadEvaluatorFactory.java | 33 +- .../runners/direct/ViewEvaluatorFactory.java | 2 +- .../runners/direct/ViewOverrideFactory.java | 13 +- .../direct/WatermarkCallbackExecutor.java | 4 +- .../beam/runners/direct/WatermarkManager.java | 23 +- .../runners/direct/WindowEvaluatorFactory.java | 2 +- .../direct/WriteWithShardingFactory.java | 2 +- .../direct/BoundedReadEvaluatorFactoryTest.java | 2 +- .../direct/CloningBundleFactoryTest.java | 30 +- .../runners/direct/CommittedResultTest.java | 4 +- .../CopyOnAccessInMemoryStateInternalsTest.java | 16 +- .../runners/direct/DirectGraphVisitorTest.java | 5 +- .../beam/runners/direct/DirectGraphs.java | 12 +- .../DirectGroupByKeyOverrideFactoryTest.java | 2 +- .../beam/runners/direct/DirectMetricsTest.java | 14 +- .../direct/DirectRunnerApiSurfaceTest.java | 68 + .../beam/runners/direct/DirectRunnerTest.java | 21 +- .../direct/DirectTimerInternalsTest.java | 2 +- ...leManagerRemovingTransformEvaluatorTest.java | 2 +- .../runners/direct/EvaluationContextTest.java | 32 +- .../direct/FlattenEvaluatorFactoryTest.java | 2 +- .../ImmutabilityEnforcementFactoryTest.java | 2 +- .../direct/KeyedPValueTrackingVisitorTest.java | 2 +- .../apache/beam/runners/direct/MockClock.java | 2 +- .../beam/runners/direct/ParDoEvaluatorTest.java | 8 +- .../runners/direct/SideInputContainerTest.java | 8 +- .../StatefulParDoEvaluatorFactoryTest.java | 16 +- .../runners/direct/StepTransformResultTest.java | 2 +- .../direct/TestStreamEvaluatorFactoryTest.java | 2 +- .../runners/direct/TransformExecutorTest.java | 7 +- .../UnboundedReadEvaluatorFactoryTest.java | 11 +- .../direct/ViewEvaluatorFactoryTest.java | 4 +- .../runners/direct/ViewOverrideFactoryTest.java | 6 +- .../direct/WatermarkCallbackExecutorTest.java | 4 +- .../runners/direct/WatermarkManagerTest.java | 4 +- .../direct/WindowEvaluatorFactoryTest.java | 10 + .../direct/WriteWithShardingFactoryTest.java | 52 +- runners/flink/pom.xml | 12 +- .../flink/FlinkBatchPipelineTranslator.java | 2 +- .../flink/FlinkBatchTransformTranslators.java | 4 +- .../flink/FlinkBatchTranslationContext.java | 4 +- .../flink/FlinkDetachedRunnerResult.java | 1 - .../FlinkPipelineExecutionEnvironment.java | 4 +- .../runners/flink/FlinkPipelineOptions.java | 11 + .../apache/beam/runners/flink/FlinkRunner.java | 15 +- .../runners/flink/FlinkRunnerRegistrar.java | 2 +- .../beam/runners/flink/FlinkRunnerResult.java | 8 +- .../flink/FlinkStreamingPipelineTranslator.java | 13 +- .../FlinkStreamingTransformTranslators.java | 258 +- .../flink/FlinkStreamingTranslationContext.java | 2 +- .../flink/FlinkStreamingViewOverrides.java | 2 +- .../beam/runners/flink/TestFlinkRunner.java | 2 +- .../metrics/DoFnRunnerWithMetricsUpdate.java | 17 +- .../flink/metrics/FlinkMetricContainer.java | 276 +- .../flink/metrics/FlinkMetricResults.java | 146 - .../flink/metrics/MetricsAccumulator.java | 60 + .../flink/metrics/ReaderInvocationUtil.java | 12 +- .../functions/AbstractFlinkCombineRunner.java | 4 +- .../functions/FlinkDoFnFunction.java | 16 +- .../FlinkMergingNonShuffleReduceFunction.java | 2 +- .../functions/FlinkNoOpStepContext.java | 36 +- .../functions/FlinkPartialReduceFunction.java | 2 +- .../functions/FlinkReduceFunction.java | 2 +- .../functions/FlinkSideInputReader.java | 4 +- .../functions/FlinkStatefulDoFnFunction.java | 12 +- .../functions/HashingFlinkCombineRunner.java | 4 +- .../functions/SortingFlinkCombineRunner.java | 4 +- .../translation/types/CoderTypeSerializer.java | 82 +- .../types/EncodedValueSerializer.java | 20 +- .../utils/SerializedPipelineOptions.java | 20 +- .../translation/wrappers/SourceInputFormat.java | 8 +- .../wrappers/streaming/DoFnOperator.java | 194 +- .../streaming/SingletonKeyedWorkItemCoder.java | 20 +- .../streaming/SplittableDoFnOperator.java | 54 +- .../wrappers/streaming/WindowDoFnOperator.java | 6 +- .../streaming/io/BoundedSourceWrapper.java | 8 +- .../wrappers/streaming/io/DedupingOperator.java | 187 ++ .../streaming/io/UnboundedSourceWrapper.java | 31 +- .../state/FlinkBroadcastStateInternals.java | 49 +- .../state/FlinkKeyGroupStateInternals.java | 29 +- .../state/FlinkSplitStateInternals.java | 20 +- .../streaming/state/FlinkStateInternals.java | 233 +- .../beam/runners/flink/PipelineOptionsTest.java | 98 +- .../flink/streaming/DedupingOperatorTest.java | 131 + .../flink/streaming/DoFnOperatorTest.java | 86 +- .../FlinkBroadcastStateInternalsTest.java | 10 +- .../FlinkKeyGroupStateInternalsTest.java | 4 +- .../streaming/FlinkSplitStateInternalsTest.java | 4 +- .../streaming/FlinkStateInternalsTest.java | 12 +- .../flink/streaming/TestCountingSource.java | 48 +- .../streaming/UnboundedSourceWrapperTest.java | 359 ++- runners/google-cloud-dataflow-java/pom.xml | 180 +- .../beam/runners/dataflow/AssignWindows.java | 2 +- .../dataflow/BatchStatefulParDoOverrides.java | 4 +- .../runners/dataflow/BatchViewOverrides.java | 32 +- .../beam/runners/dataflow/DataflowMetrics.java | 6 +- .../runners/dataflow/DataflowPipelineJob.java | 20 +- .../dataflow/DataflowPipelineRegistrar.java | 4 +- .../dataflow/DataflowPipelineTranslator.java | 95 +- .../beam/runners/dataflow/DataflowRunner.java | 241 +- .../dataflow/PrimitiveParDoSingleFactory.java | 2 +- .../beam/runners/dataflow/ReadTranslator.java | 21 +- .../dataflow/ReshuffleOverrideFactory.java | 8 +- .../dataflow/StreamingViewOverrides.java | 2 +- .../dataflow/TestDataflowPipelineOptions.java | 28 + .../runners/dataflow/TestDataflowRunner.java | 388 +++ .../runners/dataflow/TransformTranslator.java | 28 +- .../dataflow/internal/CustomSources.java | 12 - .../runners/dataflow/internal/IsmFormat.java | 99 +- .../options/DataflowPipelineOptions.java | 18 +- .../testing/TestDataflowPipelineOptions.java | 28 - .../dataflow/testing/TestDataflowRunner.java | 326 -- .../runners/dataflow/testing/package-info.java | 24 - .../runners/dataflow/util/CloudObjectKinds.java | 1 + .../dataflow/util/CloudObjectTranslators.java | 5 +- .../dataflow/util/DataflowTemplateJob.java | 1 - ...aultCoderCloudObjectTranslatorRegistrar.java | 2 - .../beam/runners/dataflow/util/DoFnInfo.java | 27 +- .../beam/runners/dataflow/util/PackageUtil.java | 3 +- .../runners/dataflow/util/PropertyNames.java | 46 - .../runners/dataflow/util/RandomAccessData.java | 28 +- .../BatchStatefulParDoOverridesTest.java | 6 +- .../runners/dataflow/DataflowMetricsTest.java | 7 +- .../dataflow/DataflowPipelineJobTest.java | 18 +- .../dataflow/DataflowPipelineRegistrarTest.java | 2 +- .../DataflowPipelineTranslatorTest.java | 218 +- .../runners/dataflow/DataflowRunnerTest.java | 68 +- .../PrimitiveParDoSingleFactoryTest.java | 2 +- .../dataflow/TestDataflowRunnerTest.java | 634 ++++ .../options/DataflowPipelineOptionsTest.java | 21 +- .../options/DataflowProfilingOptionsTest.java | 4 +- .../DataflowWorkerLoggingOptionsTest.java | 4 +- .../testing/TestDataflowRunnerTest.java | 661 ---- .../transforms/DataflowGroupByKeyTest.java | 4 +- .../dataflow/transforms/DataflowViewTest.java | 4 +- .../runners/dataflow/util/CloudObjectsTest.java | 8 +- .../runners/dataflow/util/PackageUtilTest.java | 4 +- .../dataflow/util/RandomAccessDataTest.java | 6 +- runners/pom.xml | 2 +- runners/spark/README.md | 124 - runners/spark/pom.xml | 60 +- .../beam/runners/spark/SparkPipelineResult.java | 8 +- .../apache/beam/runners/spark/SparkRunner.java | 10 +- .../beam/runners/spark/SparkRunnerDebugger.java | 7 +- .../runners/spark/SparkRunnerRegistrar.java | 2 +- .../beam/runners/spark/TestSparkRunner.java | 83 +- .../spark/aggregators/NamedAggregators.java | 6 +- .../beam/runners/spark/coders/CoderHelpers.java | 1 - .../spark/coders/StatelessJavaSerializer.java | 1 - .../beam/runners/spark/io/CreateStream.java | 2 +- .../beam/runners/spark/io/MicrobatchSource.java | 2 +- .../apache/beam/runners/spark/io/SourceRDD.java | 177 +- .../runners/spark/io/SparkUnboundedSource.java | 20 +- .../runners/spark/metrics/AggregatorMetric.java | 1 - .../spark/metrics/MetricsAccumulator.java | 20 +- .../spark/metrics/MetricsAccumulatorParam.java | 20 +- .../runners/spark/metrics/SparkBeamMetric.java | 11 +- .../spark/metrics/SparkBeamMetricSource.java | 3 +- .../spark/metrics/SparkMetricResults.java | 172 -- .../spark/metrics/SparkMetricsContainer.java | 174 -- .../SparkGroupAlsoByWindowViaWindowSet.java | 21 +- .../spark/stateful/SparkStateInternals.java | 20 +- .../spark/stateful/SparkTimerInternals.java | 2 +- .../spark/stateful/StateSpecFunctions.java | 9 +- .../translation/DoFnRunnerWithMetrics.java | 11 +- .../spark/translation/EvaluationContext.java | 18 +- .../translation/GroupCombineFunctions.java | 5 +- .../spark/translation/MultiDoFnFunction.java | 118 +- .../translation/SparkAbstractCombineFn.java | 4 +- .../spark/translation/SparkAssignWindowFn.java | 4 +- .../spark/translation/SparkGlobalCombineFn.java | 2 +- ...SparkGroupAlsoByWindowViaOutputBufferFn.java | 10 +- .../spark/translation/SparkKeyedCombineFn.java | 2 +- .../spark/translation/SparkProcessContext.java | 50 +- .../spark/translation/SparkRuntimeContext.java | 26 +- .../translation/StorageLevelPTransform.java | 2 +- .../spark/translation/TransformTranslator.java | 91 +- .../spark/translation/TranslationUtils.java | 3 +- .../SparkRunnerStreamingContextFactory.java | 2 +- .../streaming/StreamingTransformTranslator.java | 12 +- .../spark/util/GlobalWatermarkHolder.java | 1 - .../util/SinglePrimitiveOutputPTransform.java | 2 +- .../spark/util/SparkSideInputReader.java | 4 +- .../apache/beam/runners/spark/CacheTest.java | 14 +- .../beam/runners/spark/ForceStreamingTest.java | 18 +- .../apache/beam/runners/spark/PipelineRule.java | 109 - .../runners/spark/ProvidedSparkContextTest.java | 10 +- .../runners/spark/SparkRunnerDebuggerTest.java | 17 +- .../beam/runners/spark/StreamingTest.java | 23 + .../TestSparkPipelineOptionsRegistrar.java | 36 + .../metrics/sink/SparkMetricsSinkTest.java | 12 +- .../beam/runners/spark/io/AvroPipelineTest.java | 10 +- .../beam/runners/spark/io/NumShardsTest.java | 6 +- .../spark/io/ReaderToIteratorAdapterTest.java | 145 + .../translation/SparkRuntimeContextTest.java | 122 + .../spark/translation/StorageLevelTest.java | 31 +- .../translation/streaming/CreateStreamTest.java | 53 +- .../ResumeFromCheckpointStreamingTest.java | 64 +- .../streaming/StreamingSourceMetricsTest.java | 16 +- .../streaming/TrackStreamingSourcesTest.java | 18 +- sdks/common/fn-api/pom.xml | 7 +- .../fn-api/src/main/proto/beam_fn_api.proto | 25 +- sdks/common/pom.xml | 2 +- sdks/common/runner-api/pom.xml | 5 +- .../src/main/proto/beam_runner_api.proto | 79 +- .../src/main/proto/standard_window_fns.proto | 53 + sdks/java/build-tools/pom.xml | 2 +- .../src/main/resources/beam/findbugs-filter.xml | 19 +- sdks/java/core/pom.xml | 94 +- .../main/java/org/apache/beam/sdk/Pipeline.java | 151 +- .../org/apache/beam/sdk/PipelineResult.java | 11 +- .../org/apache/beam/sdk/PipelineRunner.java | 61 + .../beam/sdk/annotations/Experimental.java | 35 +- .../apache/beam/sdk/annotations/Internal.java | 6 +- .../org/apache/beam/sdk/coders/AtomicCoder.java | 85 + .../org/apache/beam/sdk/coders/AvroCoder.java | 70 +- .../apache/beam/sdk/coders/BigDecimalCoder.java | 25 +- .../beam/sdk/coders/BigEndianIntegerCoder.java | 10 +- .../beam/sdk/coders/BigEndianLongCoder.java | 12 +- .../apache/beam/sdk/coders/BigIntegerCoder.java | 21 +- .../org/apache/beam/sdk/coders/BitSetCoder.java | 15 +- .../apache/beam/sdk/coders/ByteArrayCoder.java | 41 +- .../org/apache/beam/sdk/coders/ByteCoder.java | 10 +- .../sdk/coders/CannotProvideCoderException.java | 2 +- .../java/org/apache/beam/sdk/coders/Coder.java | 178 +- .../apache/beam/sdk/coders/CoderFactories.java | 290 -- .../apache/beam/sdk/coders/CoderFactory.java | 44 - .../apache/beam/sdk/coders/CoderProvider.java | 19 +- .../beam/sdk/coders/CoderProviderRegistrar.java | 42 + .../apache/beam/sdk/coders/CoderProviders.java | 240 +- .../apache/beam/sdk/coders/CoderRegistrar.java | 45 - .../apache/beam/sdk/coders/CoderRegistry.java | 618 ++-- .../apache/beam/sdk/coders/CollectionCoder.java | 9 - .../org/apache/beam/sdk/coders/CustomCoder.java | 26 +- .../apache/beam/sdk/coders/DefaultCoder.java | 119 +- .../apache/beam/sdk/coders/DelegateCoder.java | 11 + .../org/apache/beam/sdk/coders/DoubleCoder.java | 10 +- .../apache/beam/sdk/coders/DurationCoder.java | 18 +- .../apache/beam/sdk/coders/InstantCoder.java | 85 +- .../apache/beam/sdk/coders/IterableCoder.java | 9 - .../beam/sdk/coders/IterableLikeCoder.java | 35 +- .../org/apache/beam/sdk/coders/KvCoder.java | 38 +- .../beam/sdk/coders/LengthPrefixCoder.java | 15 +- .../org/apache/beam/sdk/coders/ListCoder.java | 11 +- .../org/apache/beam/sdk/coders/MapCoder.java | 47 +- .../apache/beam/sdk/coders/NullableCoder.java | 31 +- .../beam/sdk/coders/SerializableCoder.java | 66 +- .../org/apache/beam/sdk/coders/SetCoder.java | 9 - .../beam/sdk/coders/StringDelegateCoder.java | 12 +- .../apache/beam/sdk/coders/StringUtf8Coder.java | 29 +- .../beam/sdk/coders/StructuralByteArray.java | 4 +- .../apache/beam/sdk/coders/StructuredCoder.java | 74 +- .../beam/sdk/coders/TextualIntegerCoder.java | 17 +- .../org/apache/beam/sdk/coders/VarIntCoder.java | 10 +- .../apache/beam/sdk/coders/VarLongCoder.java | 15 +- .../org/apache/beam/sdk/coders/VoidCoder.java | 12 +- .../apache/beam/sdk/coders/package-info.java | 2 +- .../java/org/apache/beam/sdk/io/AvroIO.java | 8 +- .../java/org/apache/beam/sdk/io/AvroSink.java | 14 +- .../java/org/apache/beam/sdk/io/AvroSource.java | 23 +- .../sdk/io/BoundedReadFromUnboundedSource.java | 4 +- .../apache/beam/sdk/io/CompressedSource.java | 6 + .../org/apache/beam/sdk/io/CountingSource.java | 42 + .../beam/sdk/io/DefaultFilenamePolicy.java | 120 +- .../org/apache/beam/sdk/io/FileBasedSink.java | 338 ++- .../org/apache/beam/sdk/io/FileBasedSource.java | 39 +- .../java/org/apache/beam/sdk/io/FileSystem.java | 3 + .../apache/beam/sdk/io/FileSystemRegistrar.java | 3 + .../org/apache/beam/sdk/io/FileSystems.java | 33 +- .../beam/sdk/io/LocalFileSystemRegistrar.java | 3 + .../org/apache/beam/sdk/io/LocalResources.java | 3 + .../main/java/org/apache/beam/sdk/io/Read.java | 8 +- .../java/org/apache/beam/sdk/io/TFRecordIO.java | 31 +- .../java/org/apache/beam/sdk/io/TextIO.java | 12 +- .../java/org/apache/beam/sdk/io/TextSink.java | 14 +- .../org/apache/beam/sdk/io/UnboundedSource.java | 23 +- .../java/org/apache/beam/sdk/io/WriteFiles.java | 287 +- .../org/apache/beam/sdk/io/fs/ResourceId.java | 3 + .../apache/beam/sdk/metrics/CounterCell.java | 67 - .../org/apache/beam/sdk/metrics/DirtyState.java | 98 - .../beam/sdk/metrics/DistributionCell.java | 64 - .../beam/sdk/metrics/DistributionData.java | 60 - .../beam/sdk/metrics/DistributionResult.java | 3 + .../org/apache/beam/sdk/metrics/GaugeCell.java | 54 - .../org/apache/beam/sdk/metrics/GaugeData.java | 81 - .../apache/beam/sdk/metrics/GaugeResult.java | 3 + .../org/apache/beam/sdk/metrics/Metric.java | 7 +- .../org/apache/beam/sdk/metrics/MetricCell.java | 41 - .../beam/sdk/metrics/MetricFiltering.java | 99 - .../org/apache/beam/sdk/metrics/MetricKey.java | 41 - .../apache/beam/sdk/metrics/MetricUpdates.java | 78 - .../org/apache/beam/sdk/metrics/Metrics.java | 6 +- .../beam/sdk/metrics/MetricsContainer.java | 132 +- .../beam/sdk/metrics/MetricsEnvironment.java | 14 +- .../org/apache/beam/sdk/metrics/MetricsMap.java | 86 - .../apache/beam/sdk/metrics/SinkMetrics.java | 4 + .../apache/beam/sdk/metrics/SourceMetrics.java | 3 + .../DefaultPipelineOptionsRegistrar.java | 3 +- .../beam/sdk/options/PipelineOptionSpec.java | 4 +- .../beam/sdk/options/PipelineOptions.java | 5 +- .../sdk/options/PipelineOptionsFactory.java | 2 +- .../apache/beam/sdk/options/ValueProvider.java | 15 +- .../beam/sdk/options/ValueProviderUtils.java | 60 - .../apache/beam/sdk/options/ValueProviders.java | 61 + .../java/org/apache/beam/sdk/package-info.java | 2 +- .../beam/sdk/runners/AppliedPTransform.java | 73 + .../beam/sdk/runners/PTransformMatcher.java | 7 +- .../beam/sdk/runners/PTransformOverride.java | 6 +- .../sdk/runners/PTransformOverrideFactory.java | 8 +- .../apache/beam/sdk/runners/PipelineRunner.java | 65 - .../sdk/runners/PipelineRunnerRegistrar.java | 5 + .../beam/sdk/runners/TransformHierarchy.java | 21 +- .../apache/beam/sdk/runners/package-info.java | 4 +- .../org/apache/beam/sdk/state/BagState.java | 36 + .../apache/beam/sdk/state/CombiningState.java | 55 + .../apache/beam/sdk/state/GroupingState.java | 44 + .../org/apache/beam/sdk/state/MapState.java | 73 + .../apache/beam/sdk/state/ReadableState.java | 51 + .../apache/beam/sdk/state/ReadableStates.java | 44 + .../org/apache/beam/sdk/state/SetState.java | 47 + .../java/org/apache/beam/sdk/state/State.java | 36 + .../org/apache/beam/sdk/state/StateBinder.java | 70 + .../org/apache/beam/sdk/state/StateContext.java | 46 + .../apache/beam/sdk/state/StateContexts.java | 51 + .../org/apache/beam/sdk/state/StateSpec.java | 116 + .../org/apache/beam/sdk/state/StateSpecs.java | 730 +++++ .../org/apache/beam/sdk/state/TimeDomain.java | 49 + .../java/org/apache/beam/sdk/state/Timer.java | 70 + .../org/apache/beam/sdk/state/TimerSpec.java | 30 + .../org/apache/beam/sdk/state/TimerSpecs.java | 39 + .../java/org/apache/beam/sdk/state/Timers.java | 58 + .../org/apache/beam/sdk/state/ValueState.java | 35 + .../beam/sdk/state/WatermarkHoldState.java | 41 + .../org/apache/beam/sdk/state/package-info.java | 22 + .../beam/sdk/testing/CoderProperties.java | 6 +- .../apache/beam/sdk/testing/CrashingRunner.java | 2 +- .../beam/sdk/testing/FileChecksumMatcher.java | 2 +- .../org/apache/beam/sdk/testing/LargeKeys.java | 48 + .../beam/sdk/testing/MatcherDeserializer.java | 4 +- .../beam/sdk/testing/MatcherSerializer.java | 4 +- .../apache/beam/sdk/testing/NeedsRunner.java | 2 +- .../org/apache/beam/sdk/testing/PAssert.java | 4 +- .../apache/beam/sdk/testing/StaticWindows.java | 12 + .../apache/beam/sdk/testing/TestPipeline.java | 77 +- .../beam/sdk/testing/TestPipelineOptions.java | 2 - .../org/apache/beam/sdk/testing/TestStream.java | 64 +- .../apache/beam/sdk/testing/UsesMapState.java | 2 +- .../apache/beam/sdk/testing/UsesSetState.java | 2 +- .../beam/sdk/transforms/AppliedPTransform.java | 73 - .../sdk/transforms/ApproximateQuantiles.java | 94 +- .../org/apache/beam/sdk/transforms/Combine.java | 44 +- .../beam/sdk/transforms/CombineFnBase.java | 26 +- .../apache/beam/sdk/transforms/CombineFns.java | 25 +- .../beam/sdk/transforms/CombineWithContext.java | 3 +- .../org/apache/beam/sdk/transforms/Count.java | 22 +- .../org/apache/beam/sdk/transforms/Create.java | 76 +- .../apache/beam/sdk/transforms/Distinct.java | 80 +- .../org/apache/beam/sdk/transforms/DoFn.java | 91 +- .../apache/beam/sdk/transforms/DoFnTester.java | 66 +- .../org/apache/beam/sdk/transforms/Flatten.java | 2 +- .../apache/beam/sdk/transforms/GroupByKey.java | 2 +- .../beam/sdk/transforms/GroupIntoBatches.java | 83 +- .../beam/sdk/transforms/Materialization.java | 8 +- .../beam/sdk/transforms/Materializations.java | 11 +- .../org/apache/beam/sdk/transforms/Max.java | 4 +- .../org/apache/beam/sdk/transforms/Mean.java | 19 +- .../org/apache/beam/sdk/transforms/Min.java | 4 +- .../apache/beam/sdk/transforms/PTransform.java | 12 +- .../org/apache/beam/sdk/transforms/ParDo.java | 17 +- .../org/apache/beam/sdk/transforms/Regex.java | 1 - .../beam/sdk/transforms/ReifyTimestamps.java | 79 + .../apache/beam/sdk/transforms/Reshuffle.java | 97 + .../org/apache/beam/sdk/transforms/Sum.java | 30 + .../org/apache/beam/sdk/transforms/Top.java | 82 +- .../org/apache/beam/sdk/transforms/View.java | 45 +- .../org/apache/beam/sdk/transforms/ViewFn.java | 6 +- .../apache/beam/sdk/transforms/WithKeys.java | 4 +- .../beam/sdk/transforms/join/CoGbkResult.java | 20 +- .../beam/sdk/transforms/join/UnionCoder.java | 29 +- .../reflect/ByteBuddyDoFnInvokerFactory.java | 31 +- .../reflect/ByteBuddyOnTimerInvokerFactory.java | 20 +- .../sdk/transforms/reflect/DoFnInvoker.java | 23 +- .../sdk/transforms/reflect/DoFnSignature.java | 50 +- .../sdk/transforms/reflect/DoFnSignatures.java | 66 +- .../reflect/StableInvokerNamingStrategy.java | 54 + .../sdk/transforms/reflect/package-info.java | 5 +- .../beam/sdk/transforms/windowing/AfterAll.java | 8 +- .../sdk/transforms/windowing/AfterEach.java | 2 +- .../sdk/transforms/windowing/AfterFirst.java | 5 +- .../sdk/transforms/windowing/AfterPane.java | 5 +- .../windowing/AfterProcessingTime.java | 6 +- .../transforms/windowing/AfterWatermark.java | 6 +- .../sdk/transforms/windowing/BoundedWindow.java | 20 +- .../transforms/windowing/CalendarWindows.java | 36 + .../transforms/windowing/DefaultTrigger.java | 10 +- .../sdk/transforms/windowing/FixedWindows.java | 11 + .../sdk/transforms/windowing/GlobalWindow.java | 10 +- .../sdk/transforms/windowing/GlobalWindows.java | 22 +- .../windowing/IncompatibleWindowException.java | 38 + .../transforms/windowing/IntervalWindow.java | 19 +- .../transforms/windowing/InvalidWindows.java | 13 +- .../MergeOverlappingIntervalWindows.java | 6 +- .../beam/sdk/transforms/windowing/Never.java | 4 +- .../windowing/NonMergingWindowFn.java | 2 +- .../transforms/windowing/OrFinallyTrigger.java | 7 +- .../beam/sdk/transforms/windowing/PaneInfo.java | 18 +- .../sdk/transforms/windowing/Repeatedly.java | 6 +- .../transforms/windowing/ReshuffleTrigger.java | 58 + .../beam/sdk/transforms/windowing/Sessions.java | 24 +- .../transforms/windowing/SlidingWindows.java | 11 + .../transforms/windowing/TimestampCombiner.java | 5 + .../windowing/TimestampTransform.java | 41 +- .../beam/sdk/transforms/windowing/Trigger.java | 18 +- .../beam/sdk/transforms/windowing/Window.java | 22 +- .../beam/sdk/transforms/windowing/WindowFn.java | 31 +- .../transforms/windowing/WindowMappingFn.java | 12 +- .../org/apache/beam/sdk/util/ApiSurface.java | 10 +- .../apache/beam/sdk/util/AppliedCombineFn.java | 1 + .../java/org/apache/beam/sdk/util/BackOff.java | 81 + .../org/apache/beam/sdk/util/BackOffUtils.java | 57 + .../org/apache/beam/sdk/util/BitSetCoder.java | 21 +- .../org/apache/beam/sdk/util/ClassPath.java | 9 +- .../org/apache/beam/sdk/util/CoderUtils.java | 10 +- .../beam/sdk/util/CombineContextFactory.java | 27 +- .../org/apache/beam/sdk/util/CombineFnUtil.java | 2 +- .../beam/sdk/util/ExplicitShardedFile.java | 3 - .../beam/sdk/util/FileIOChannelFactory.java | 223 -- .../sdk/util/FileIOChannelFactoryRegistrar.java | 38 - .../org/apache/beam/sdk/util/FluentBackoff.java | 1 - .../apache/beam/sdk/util/IOChannelFactory.java | 127 - .../sdk/util/IOChannelFactoryRegistrar.java | 48 - .../apache/beam/sdk/util/IOChannelUtils.java | 280 -- .../apache/beam/sdk/util/IdentityWindowFn.java | 12 + .../apache/beam/sdk/util/NoopPathValidator.java | 49 - .../beam/sdk/util/NullSideInputReader.java | 61 - .../beam/sdk/util/NumberedShardedFile.java | 3 - .../beam/sdk/util/PCollectionViewWindow.java | 67 - .../apache/beam/sdk/util/PCollectionViews.java | 496 --- .../org/apache/beam/sdk/util/PathValidator.java | 55 - .../sdk/util/ReadyCheckingSideInputReader.java | 34 - .../apache/beam/sdk/util/ReifyTimestamps.java | 76 - .../org/apache/beam/sdk/util/ReleaseInfo.java | 70 +- .../org/apache/beam/sdk/util/Reshuffle.java | 88 - .../apache/beam/sdk/util/ReshuffleTrigger.java | 52 - .../org/apache/beam/sdk/util/ShardedFile.java | 2 - .../apache/beam/sdk/util/SideInputReader.java | 47 - .../java/org/apache/beam/sdk/util/Sleeper.java | 48 + .../org/apache/beam/sdk/util/TimeDomain.java | 43 - .../java/org/apache/beam/sdk/util/Timer.java | 67 - .../org/apache/beam/sdk/util/TimerSpec.java | 30 - .../org/apache/beam/sdk/util/TimerSpecs.java | 41 - .../java/org/apache/beam/sdk/util/Timers.java | 58 - .../sdk/util/UploadIdResponseInterceptor.java | 60 - .../apache/beam/sdk/util/ValueWithRecordId.java | 134 - .../org/apache/beam/sdk/util/WindowedValue.java | 71 +- .../apache/beam/sdk/util/WindowingStrategy.java | 283 -- .../apache/beam/sdk/util/state/BagState.java | 28 - .../beam/sdk/util/state/CombiningState.java | 53 - .../beam/sdk/util/state/GroupingState.java | 42 - .../apache/beam/sdk/util/state/MapState.java | 79 - .../beam/sdk/util/state/ReadableState.java | 51 - .../beam/sdk/util/state/ReadableStates.java | 45 - .../apache/beam/sdk/util/state/SetState.java | 45 - .../org/apache/beam/sdk/util/state/State.java | 32 - .../apache/beam/sdk/util/state/StateBinder.java | 66 - .../beam/sdk/util/state/StateContext.java | 43 - .../beam/sdk/util/state/StateContexts.java | 51 - .../apache/beam/sdk/util/state/StateSpec.java | 53 - .../apache/beam/sdk/util/state/StateSpecs.java | 629 ---- .../apache/beam/sdk/util/state/ValueState.java | 37 - .../beam/sdk/util/state/WatermarkHoldState.java | 42 - .../beam/sdk/util/state/package-info.java | 22 - .../java/org/apache/beam/sdk/values/PBegin.java | 26 +- .../org/apache/beam/sdk/values/PCollection.java | 23 +- .../apache/beam/sdk/values/PCollectionList.java | 14 +- .../beam/sdk/values/PCollectionTuple.java | 24 +- .../apache/beam/sdk/values/PCollectionView.java | 4 +- .../beam/sdk/values/PCollectionViews.java | 495 +++ .../java/org/apache/beam/sdk/values/PDone.java | 12 +- .../org/apache/beam/sdk/values/POutput.java | 25 +- .../java/org/apache/beam/sdk/values/PValue.java | 12 +- .../org/apache/beam/sdk/values/PValueBase.java | 59 +- .../apache/beam/sdk/values/TaggedPValue.java | 6 +- .../beam/sdk/values/TimestampedValue.java | 30 +- .../beam/sdk/values/ValueInSingleWindow.java | 29 +- .../beam/sdk/values/ValueWithRecordId.java | 149 + .../beam/sdk/values/WindowingStrategy.java | 283 ++ .../org/apache/beam/SdkCoreApiSurfaceTest.java | 1 - .../java/org/apache/beam/sdk/PipelineTest.java | 3 +- .../apache/beam/sdk/coders/AvroCoderTest.java | 4 +- .../beam/sdk/coders/BigDecimalCoderTest.java | 5 +- .../beam/sdk/coders/BigIntegerCoderTest.java | 5 +- .../beam/sdk/coders/CoderFactoriesTest.java | 100 - .../beam/sdk/coders/CoderProvidersTest.java | 82 +- .../beam/sdk/coders/CoderRegistryTest.java | 191 +- .../apache/beam/sdk/coders/CustomCoderTest.java | 4 +- .../beam/sdk/coders/DefaultCoderTest.java | 65 +- .../beam/sdk/coders/DelegateCoderTest.java | 25 - .../beam/sdk/coders/IterableCoderTest.java | 17 - .../beam/sdk/coders/LengthPrefixCoderTest.java | 24 +- .../apache/beam/sdk/coders/ListCoderTest.java | 17 - .../apache/beam/sdk/coders/MapCoderTest.java | 20 - .../beam/sdk/coders/NullableCoderTest.java | 31 +- .../beam/sdk/coders/SerializableCoderTest.java | 47 +- .../beam/sdk/coders/StructuredCoderTest.java | 12 +- .../java/org/apache/beam/sdk/io/AvroIOTest.java | 47 +- .../beam/sdk/io/CompressedSourceTest.java | 25 +- .../beam/sdk/io/DefaultFilenamePolicyTest.java | 55 +- .../sdk/io/DrunkWritableByteChannelFactory.java | 1 - .../apache/beam/sdk/io/FileBasedSinkTest.java | 162 +- .../apache/beam/sdk/io/LocalResourceIdTest.java | 6 + .../java/org/apache/beam/sdk/io/SimpleSink.java | 4 +- .../org/apache/beam/sdk/io/TFRecordIOTest.java | 2 - .../java/org/apache/beam/sdk/io/TextIOTest.java | 7 +- .../apache/beam/sdk/io/fs/ResourceIdTester.java | 150 + .../beam/sdk/metrics/CounterCellTest.java | 55 - .../apache/beam/sdk/metrics/DirtyStateTest.java | 56 - .../beam/sdk/metrics/DistributionCellTest.java | 53 - .../apache/beam/sdk/metrics/GaugeCellTest.java | 48 - .../beam/sdk/metrics/MetricFilteringTest.java | 145 - .../apache/beam/sdk/metrics/MetricMatchers.java | 242 -- .../beam/sdk/metrics/MetricResultsMatchers.java | 190 ++ .../beam/sdk/metrics/MetricsContainerTest.java | 129 - .../sdk/metrics/MetricsEnvironmentTest.java | 23 +- .../apache/beam/sdk/metrics/MetricsMapTest.java | 103 - .../apache/beam/sdk/metrics/MetricsTest.java | 47 +- .../sdk/options/PipelineOptionsFactoryTest.java | 4 +- .../beam/sdk/options/PipelineOptionsTest.java | 1 - .../sdk/options/ProxyInvocationHandlerTest.java | 4 +- .../beam/sdk/options/ValueProviderTest.java | 23 +- .../sdk/options/ValueProviderUtilsTest.java | 78 - .../beam/sdk/options/ValueProvidersTest.java | 79 + .../beam/sdk/runners/PipelineRunnerTest.java | 1 + .../sdk/runners/TransformHierarchyTest.java | 7 +- .../beam/sdk/runners/TransformTreeTest.java | 2 +- .../beam/sdk/testing/CoderPropertiesTest.java | 73 +- .../beam/sdk/testing/CrashingRunnerTest.java | 2 +- .../beam/sdk/testing/ExpectedLogsTest.java | 2 +- .../sdk/testing/FastNanoClockAndSleeper.java | 47 - .../testing/FastNanoClockAndSleeperTest.java | 47 - .../sdk/testing/FileChecksumMatcherTest.java | 5 - .../apache/beam/sdk/testing/PAssertTest.java | 14 +- .../sdk/testing/PCollectionViewTesting.java | 2 +- .../sdk/testing/SerializableMatchersTest.java | 9 +- .../beam/sdk/testing/StaticWindowsTest.java | 12 + .../beam/sdk/testing/SystemNanoTimeSleeper.java | 2 +- .../beam/sdk/testing/TestPipelineTest.java | 6 +- .../beam/sdk/testing/WindowSupplierTest.java | 10 +- .../transforms/ApproximateQuantilesTest.java | 2 +- .../beam/sdk/transforms/CombineFnsTest.java | 28 +- .../apache/beam/sdk/transforms/CombineTest.java | 39 +- .../apache/beam/sdk/transforms/CreateTest.java | 25 +- .../beam/sdk/transforms/DistinctTest.java | 130 +- .../beam/sdk/transforms/DoFnTesterTest.java | 12 +- .../sdk/transforms/FlatMapElementsTest.java | 4 +- .../beam/sdk/transforms/GroupByKeyTest.java | 89 +- .../sdk/transforms/GroupIntoBatchesTest.java | 4 +- .../beam/sdk/transforms/MapElementsTest.java | 4 +- .../org/apache/beam/sdk/transforms/MaxTest.java | 2 +- .../org/apache/beam/sdk/transforms/MinTest.java | 2 +- .../beam/sdk/transforms/ParDoLifecycleTest.java | 16 +- .../apache/beam/sdk/transforms/ParDoTest.java | 334 +- .../apache/beam/sdk/transforms/RegexTest.java | 2 - .../sdk/transforms/ReifyTimestampsTest.java | 140 + .../beam/sdk/transforms/ReshuffleTest.java | 293 ++ .../beam/sdk/transforms/SplittableDoFnTest.java | 4 +- .../org/apache/beam/sdk/transforms/TopTest.java | 10 +- .../apache/beam/sdk/transforms/ViewTest.java | 17 +- .../display/DisplayDataEvaluator.java | 2 +- .../transforms/reflect/DoFnInvokersTest.java | 73 +- .../DoFnSignaturesSplittableDoFnTest.java | 4 +- .../transforms/reflect/DoFnSignaturesTest.java | 35 +- .../transforms/reflect/OnTimerInvokersTest.java | 38 +- .../testhelper/DoFnInvokersTestHelper.java | 6 +- .../windowing/CalendarWindowsTest.java | 24 + .../transforms/windowing/FixedWindowsTest.java | 7 + .../transforms/windowing/GlobalWindowTest.java | 2 +- .../windowing/ReshuffleTriggerTest.java | 42 + .../sdk/transforms/windowing/SessionsTest.java | 14 + .../windowing/SlidingWindowsTest.java | 11 + .../sdk/transforms/windowing/WindowTest.java | 48 +- ...BufferedElementCountingOutputStreamTest.java | 5 +- .../apache/beam/sdk/util/CoderUtilsTest.java | 8 +- .../apache/beam/sdk/util/CombineFnUtilTest.java | 2 +- .../util/FileIOChannelFactoryRegistrarTest.java | 44 - .../beam/sdk/util/FileIOChannelFactoryTest.java | 242 -- .../apache/beam/sdk/util/FluentBackoffTest.java | 1 - .../beam/sdk/util/IOChannelUtilsTest.java | 118 - .../sdk/util/IdentitySideInputWindowFn.java | 4 + .../beam/sdk/util/NumberedShardedFileTest.java | 14 +- .../beam/sdk/util/ReifyTimestampsTest.java | 109 - .../org/apache/beam/sdk/util/ReshuffleTest.java | 270 -- .../beam/sdk/util/ReshuffleTriggerTest.java | 44 - .../beam/sdk/util/SerializableUtilsTest.java | 8 +- .../util/UploadIdResponseInterceptorTest.java | 98 - .../beam/sdk/util/ValueWithRecordIdTest.java | 34 - .../beam/sdk/values/PCollectionTupleTest.java | 1 - .../apache/beam/sdk/values/TypedPValueTest.java | 28 +- .../beam/sdk/values/ValueWithRecordIdTest.java | 34 + .../google-cloud-platform-core/pom.xml | 8 +- .../sdk/extensions/gcp/options/GcpOptions.java | 9 +- .../sdk/extensions/gcp/options/GcsOptions.java | 4 +- .../extensions/gcp/storage/GcsFileSystem.java | 13 +- .../gcp/storage/GcsFileSystemRegistrar.java | 5 +- .../gcp/storage/GcsPathValidator.java | 105 + .../gcp/storage/NoopPathValidator.java | 53 + .../extensions/gcp/storage/PathValidator.java | 59 + .../apache/beam/sdk/util/BackOffAdapter.java | 43 + .../beam/sdk/util/GcsIOChannelFactory.java | 111 - .../sdk/util/GcsIOChannelFactoryRegistrar.java | 38 - .../apache/beam/sdk/util/GcsPathValidator.java | 106 - .../java/org/apache/beam/sdk/util/GcsUtil.java | 65 +- .../sdk/util/RetryHttpRequestInitializer.java | 12 +- .../sdk/util/UploadIdResponseInterceptor.java | 60 + .../extensions/gcp/GcpCoreApiSurfaceTest.java | 3 +- .../extensions/gcp/options/GcpOptionsTest.java | 4 +- .../gcp/options/GoogleApiDebugOptionsTest.java | 8 +- .../gcp/storage/GcsFileSystemTest.java | 30 +- .../gcp/storage/GcsPathValidatorTest.java | 107 + .../gcp/storage/GcsResourceIdTest.java | 9 + .../beam/sdk/util/FastNanoClockAndSleeper.java | 47 + .../sdk/util/FastNanoClockAndSleeperTest.java | 47 + .../util/GcsIOChannelFactoryRegistrarTest.java | 44 - .../beam/sdk/util/GcsIOChannelFactoryTest.java | 43 - .../beam/sdk/util/GcsPathValidatorTest.java | 106 - .../org/apache/beam/sdk/util/GcsUtilTest.java | 86 +- .../util/UploadIdResponseInterceptorTest.java | 98 + sdks/java/extensions/jackson/pom.xml | 2 +- sdks/java/extensions/join-library/README.md | 42 - sdks/java/extensions/join-library/pom.xml | 2 +- .../beam/sdk/extensions/joinlibrary/Join.java | 65 +- .../joinlibrary/OuterFullJoinTest.java | 179 ++ sdks/java/extensions/pom.xml | 2 +- sdks/java/extensions/protobuf/pom.xml | 2 +- .../extensions/protobuf/ByteStringCoder.java | 24 +- .../sdk/extensions/protobuf/ProtoCoder.java | 85 +- .../ProtobufCoderProviderRegistrar.java | 41 + .../protobuf/ProtobufCoderRegistrar.java | 39 - .../protobuf/ByteStringCoderTest.java | 10 +- .../sdk/extensions/protobuf/ProtoCoderTest.java | 7 +- sdks/java/extensions/sorter/README.md | 42 - sdks/java/extensions/sorter/pom.xml | 2 +- .../extensions/sorter/ExternalSorterTest.java | 1 - sdks/java/harness/pom.xml | 17 +- .../org/apache/beam/fn/harness/FnHarness.java | 8 +- .../fn/harness/control/BeamFnControlClient.java | 3 +- .../harness/control/ProcessBundleHandler.java | 182 +- .../fn/harness/control/RegisterHandler.java | 12 +- .../BeamFnDataBufferingOutboundObserver.java | 3 +- .../fn/harness/data/BeamFnDataGrpcClient.java | 5 +- .../harness/data/BeamFnDataGrpcMultiplexer.java | 9 +- .../harness/data/BeamFnDataInboundObserver.java | 3 +- .../beam/fn/harness/fake/FakeStepContext.java | 33 +- .../fn/harness/logging/BeamFnLoggingClient.java | 36 +- .../beam/runners/core/BeamFnDataReadRunner.java | 27 +- .../runners/core/BeamFnDataWriteRunner.java | 28 +- .../beam/runners/core/BoundedSourceRunner.java | 10 +- .../control/ProcessBundleHandlerTest.java | 439 ++- .../fn/harness/control/RegisterHandlerTest.java | 26 +- ...BeamFnDataBufferingOutboundObserverTest.java | 3 +- .../data/BeamFnDataInboundObserverTest.java | 3 +- .../runners/core/BeamFnDataReadRunnerTest.java | 26 +- .../runners/core/BeamFnDataWriteRunnerTest.java | 26 +- .../runners/core/BoundedSourceRunnerTest.java | 8 +- sdks/java/io/cassandra/pom.xml | 113 + .../beam/sdk/io/cassandra/CassandraIO.java | 510 ++++ .../beam/sdk/io/cassandra/CassandraService.java | 66 + .../sdk/io/cassandra/CassandraServiceImpl.java | 398 +++ .../beam/sdk/io/cassandra/package-info.java | 22 + .../beam/sdk/io/cassandra/CassandraIOIT.java | 254 ++ .../beam/sdk/io/cassandra/CassandraIOTest.java | 279 ++ .../io/cassandra/CassandraServiceImplTest.java | 138 + .../sdk/io/cassandra/CassandraTestDataSet.java | 153 + sdks/java/io/common/pom.xml | 2 +- .../apache/beam/sdk/io/common/HashingFn.java | 2 - .../sdk/io/common/IOTestPipelineOptions.java | 10 + sdks/java/io/elasticsearch/pom.xml | 2 +- .../sdk/io/elasticsearch/ElasticsearchIO.java | 12 +- .../sdk/io/elasticsearch/ElasticsearchIOIT.java | 4 +- sdks/java/io/google-cloud-platform/pom.xml | 86 +- .../beam/sdk/io/gcp/bigquery/BatchLoads.java | 145 +- .../BigQueryCoderProviderRegistrar.java | 40 + .../io/gcp/bigquery/BigQueryCoderRegistrar.java | 39 - .../sdk/io/gcp/bigquery/BigQueryHelpers.java | 19 +- .../beam/sdk/io/gcp/bigquery/BigQueryIO.java | 142 +- .../io/gcp/bigquery/BigQueryQuerySource.java | 1 - .../sdk/io/gcp/bigquery/BigQueryServices.java | 8 +- .../io/gcp/bigquery/BigQueryServicesImpl.java | 138 +- .../sdk/io/gcp/bigquery/BigQuerySourceBase.java | 16 +- .../gcp/bigquery/BigQueryTableRowIterator.java | 7 +- .../sdk/io/gcp/bigquery/CalculateSchemas.java | 1 - .../beam/sdk/io/gcp/bigquery/CreateTables.java | 1 - .../io/gcp/bigquery/DynamicDestinations.java | 2 +- .../bigquery/DynamicDestinationsHelpers.java | 3 +- .../sdk/io/gcp/bigquery/InsertRetryPolicy.java | 86 + .../sdk/io/gcp/bigquery/ShardedKeyCoder.java | 22 +- .../sdk/io/gcp/bigquery/StreamingInserts.java | 35 +- .../sdk/io/gcp/bigquery/StreamingWriteFn.java | 54 +- .../io/gcp/bigquery/StreamingWriteTables.java | 28 +- .../sdk/io/gcp/bigquery/TableDestination.java | 14 +- .../io/gcp/bigquery/TableDestinationCoder.java | 27 +- .../sdk/io/gcp/bigquery/TableRowInfoCoder.java | 19 +- .../sdk/io/gcp/bigquery/TableRowJsonCoder.java | 19 +- .../sdk/io/gcp/bigquery/TableRowWriter.java | 59 +- .../sdk/io/gcp/bigquery/TagWithUniqueIds.java | 2 +- .../io/gcp/bigquery/WriteBundlesToFiles.java | 153 +- .../bigquery/WriteGroupedRecordsToFiles.java | 68 + .../sdk/io/gcp/bigquery/WritePartition.java | 42 +- .../beam/sdk/io/gcp/bigquery/WriteRename.java | 10 +- .../beam/sdk/io/gcp/bigquery/WriteResult.java | 50 +- .../beam/sdk/io/gcp/bigquery/WriteTables.java | 51 +- .../beam/sdk/io/gcp/bigtable/BigtableIO.java | 269 +- .../io/gcp/bigtable/BigtableServiceImpl.java | 9 - .../beam/sdk/io/gcp/datastore/DatastoreV1.java | 36 +- .../pubsub/PubsubCoderProviderRegistrar.java | 37 + .../sdk/io/gcp/pubsub/PubsubCoderRegistrar.java | 35 - .../apache/beam/sdk/io/gcp/pubsub/PubsubIO.java | 34 +- .../pubsub/PubsubMessagePayloadOnlyCoder.java | 24 +- .../PubsubMessageWithAttributesCoder.java | 27 +- .../sdk/io/gcp/pubsub/PubsubUnboundedSink.java | 28 +- .../io/gcp/pubsub/PubsubUnboundedSource.java | 35 +- .../io/gcp/spanner/MutationSizeEstimator.java | 98 + .../beam/sdk/io/gcp/spanner/SpannerIO.java | 350 +++ .../beam/sdk/io/gcp/spanner/package-info.java | 23 + .../beam/sdk/io/gcp/GcpApiSurfaceTest.java | 6 +- .../BigQueryCoderProviderRegistrarTest.java | 40 + .../bigquery/BigQueryCoderRegistrarTest.java | 40 - .../sdk/io/gcp/bigquery/BigQueryIOTest.java | 243 +- .../gcp/bigquery/BigQueryServicesImplTest.java | 104 +- .../sdk/io/gcp/bigquery/BigQueryUtilTest.java | 11 +- .../io/gcp/bigquery/FakeBigQueryServices.java | 2 - .../sdk/io/gcp/bigquery/FakeDatasetService.java | 75 +- .../sdk/io/gcp/bigquery/FakeJobService.java | 50 +- .../io/gcp/bigquery/InsertRetryPolicyTest.java | 79 + .../sdk/io/gcp/bigquery/TableContainer.java | 1 - .../sdk/io/gcp/datastore/DatastoreV1Test.java | 36 + .../beam/sdk/io/gcp/datastore/V1ReadIT.java | 2 +- .../beam/sdk/io/gcp/datastore/V1TestUtil.java | 21 +- .../beam/sdk/io/gcp/datastore/V1WriteIT.java | 36 +- .../io/gcp/pubsub/PubsubUnboundedSinkTest.java | 34 +- .../gcp/spanner/MutationSizeEstimatorTest.java | 138 + .../beam/sdk/io/gcp/spanner/SpannerIOTest.java | 244 ++ .../beam/sdk/io/gcp/spanner/SpannerWriteIT.java | 173 ++ .../sdk/io/gcp/testing/BigqueryMatcher.java | 4 +- .../sdk/io/gcp/testing/BigqueryMatcherTest.java | 7 +- sdks/java/io/hadoop-common/pom.xml | 9 +- .../io/hadoop/SerializableConfiguration.java | 18 +- .../beam/sdk/io/hadoop/WritableCoder.java | 78 +- .../beam/sdk/io/hadoop/WritableCoderTest.java | 10 + sdks/java/io/hadoop-file-system/README.md | 43 - sdks/java/io/hadoop-file-system/pom.xml | 45 +- .../apache/beam/sdk/io/hdfs/HDFSFileSink.java | 478 --- .../apache/beam/sdk/io/hdfs/HDFSFileSource.java | 625 ---- .../beam/sdk/io/hdfs/HadoopFileSystem.java | 39 +- .../sdk/io/hdfs/HadoopFileSystemOptions.java | 76 +- .../sdk/io/hdfs/HadoopFileSystemRegistrar.java | 3 + .../beam/sdk/io/hdfs/HadoopResourceId.java | 16 +- .../java/org/apache/beam/sdk/io/hdfs/Sink.java | 195 -- .../org/apache/beam/sdk/io/hdfs/UGIHelper.java | 38 - .../java/org/apache/beam/sdk/io/hdfs/Write.java | 585 ---- .../apache/beam/sdk/io/hdfs/package-info.java | 3 +- .../beam/sdk/io/hdfs/HDFSFileSinkTest.java | 172 -- .../beam/sdk/io/hdfs/HDFSFileSourceTest.java | 231 -- .../io/hdfs/HadoopFileSystemOptionsTest.java | 125 + .../beam/sdk/io/hdfs/HadoopFileSystemTest.java | 38 +- .../beam/sdk/io/hdfs/HadoopResourceIdTest.java | 71 + sdks/java/io/hadoop/README.md | 167 - sdks/java/io/hadoop/input-format/pom.xml | 2 +- .../hadoop/inputformat/HadoopInputFormatIO.java | 53 +- .../ConfigurableEmployeeInputFormat.java | 1 - .../hadoop/inputformat/EmployeeInputFormat.java | 1 - .../inputformat/HadoopInputFormatIOTest.java | 80 +- .../ReuseObjectsEmployeeInputFormat.java | 1 - .../hadoop/inputformat/TestEmployeeDataSet.java | 2 - sdks/java/io/hadoop/jdk1.8-tests/pom.xml | 30 +- .../inputformat/HIFIOWithElasticTest.java | 11 +- .../HIFIOWithEmbeddedCassandraTest.java | 2 - .../integration/tests/HIFIOCassandraIT.java | 2 - .../integration/tests/HIFIOElasticIT.java | 1 - sdks/java/io/hadoop/pom.xml | 2 +- sdks/java/io/hbase/pom.xml | 27 +- .../org/apache/beam/sdk/io/hbase/HBaseIO.java | 12 +- .../beam/sdk/io/hbase/HBaseMutationCoder.java | 10 +- .../beam/sdk/io/hbase/HBaseResultCoder.java | 8 +- .../apache/beam/sdk/io/hbase/HBaseIOTest.java | 25 +- sdks/java/io/jdbc/pom.xml | 2 +- .../org/apache/beam/sdk/io/jdbc/JdbcIO.java | 13 +- sdks/java/io/jdbc/src/test/README.md | 32 - .../org/apache/beam/sdk/io/jdbc/JdbcIOIT.java | 1 - sdks/java/io/jms/pom.xml | 2 +- .../java/org/apache/beam/sdk/io/jms/JmsIO.java | 22 +- .../org/apache/beam/sdk/io/jms/JmsRecord.java | 1 - .../org/apache/beam/sdk/io/jms/JmsIOTest.java | 78 + sdks/java/io/kafka/pom.xml | 4 +- .../apache/beam/sdk/io/kafka/ConsumerSpEL.java | 56 + .../beam/sdk/io/kafka/KafkaCheckpointMark.java | 2 - .../org/apache/beam/sdk/io/kafka/KafkaIO.java | 392 ++- .../apache/beam/sdk/io/kafka/KafkaRecord.java | 1 - .../beam/sdk/io/kafka/KafkaRecordCoder.java | 19 +- .../CoderBasedKafkaDeserializer.java | 71 - .../CoderBasedKafkaSerializer.java | 73 - .../serialization/InstantDeserializer.java | 1 - .../kafka/serialization/InstantSerializer.java | 1 - .../apache/beam/sdk/io/kafka/KafkaIOTest.java | 282 +- sdks/java/io/kinesis/pom.xml | 2 +- .../beam/sdk/io/kinesis/KinesisRecordCoder.java | 42 +- sdks/java/io/mongodb/pom.xml | 2 +- .../beam/sdk/io/mongodb/MongoDbGridFSIO.java | 7 +- .../apache/beam/sdk/io/mongodb/MongoDbIO.java | 57 +- .../sdk/io/mongodb/MongoDBGridFSIOTest.java | 3 - .../beam/sdk/io/mongodb/MongoDbIOTest.java | 20 +- sdks/java/io/mqtt/pom.xml | 2 +- .../org/apache/beam/sdk/io/mqtt/MqttIO.java | 3 - sdks/java/io/pom.xml | 3 +- sdks/java/io/xml/pom.xml | 2 +- .../org/apache/beam/sdk/io/xml/JAXBCoder.java | 63 +- .../java/org/apache/beam/sdk/io/xml/XmlIO.java | 4 +- .../org/apache/beam/sdk/io/xml/XmlSink.java | 10 +- .../apache/beam/sdk/io/xml/JAXBCoderTest.java | 25 +- sdks/java/java8tests/pom.xml | 2 +- .../beam/sdk/transforms/DistinctJava8Test.java | 8 - .../beam/sdk/transforms/FilterJava8Test.java | 2 +- .../beam/sdk/transforms/PartitionJava8Test.java | 2 +- .../beam/sdk/transforms/WithKeysJava8Test.java | 9 - sdks/java/javadoc/README.md | 23 - sdks/java/javadoc/ant.xml | 5 +- sdks/java/javadoc/pom.xml | 2 +- .../examples-java8/generate-sources.sh | 14 +- .../maven-archetypes/examples-java8/pom.xml | 108 +- .../main/resources/archetype-resources/pom.xml | 71 +- .../examples/generate-sources.sh | 10 +- sdks/java/maven-archetypes/examples/pom.xml | 67 +- .../main/resources/archetype-resources/pom.xml | 61 +- sdks/java/maven-archetypes/pom.xml | 22 +- sdks/java/maven-archetypes/starter/pom.xml | 19 +- .../main/resources/archetype-resources/pom.xml | 12 +- .../resources/projects/basic/reference/pom.xml | 14 +- sdks/java/pom.xml | 2 +- sdks/pom.xml | 20 +- sdks/python/MANIFEST.in | 1 + sdks/python/README.md | 298 -- sdks/python/apache_beam/__init__.py | 2 +- sdks/python/apache_beam/coders/coder_impl.py | 59 +- sdks/python/apache_beam/coders/coders.py | 41 +- sdks/python/apache_beam/coders/coders_test.py | 11 +- .../apache_beam/coders/coders_test_common.py | 2 +- sdks/python/apache_beam/coders/observable.py | 9 +- sdks/python/apache_beam/coders/slow_stream.py | 21 +- .../apache_beam/coders/standard_coders_test.py | 4 +- sdks/python/apache_beam/coders/stream.pyx | 5 + sdks/python/apache_beam/coders/typecoders.py | 7 +- .../examples/complete/autocomplete.py | 23 +- .../examples/complete/autocomplete_test.py | 37 +- .../examples/complete/estimate_pi.py | 15 +- .../examples/complete/estimate_pi_test.py | 18 +- .../examples/complete/game/README.md | 69 - .../examples/complete/game/hourly_team_score.py | 25 +- .../complete/game/hourly_team_score_test.py | 6 +- .../examples/complete/game/user_score.py | 19 +- .../examples/complete/game/user_score_test.py | 6 +- .../complete/juliaset/juliaset/juliaset.py | 44 +- .../complete/juliaset/juliaset/juliaset_test.py | 5 +- .../apache_beam/examples/complete/tfidf.py | 25 +- .../apache_beam/examples/complete/tfidf_test.py | 37 +- .../examples/complete/top_wikipedia_sessions.py | 16 +- .../complete/top_wikipedia_sessions_test.py | 13 +- .../examples/cookbook/bigquery_schema.py | 159 +- .../examples/cookbook/bigquery_side_input.py | 55 +- .../cookbook/bigquery_side_input_test.py | 43 +- .../examples/cookbook/bigquery_tornadoes.py | 32 +- .../cookbook/bigquery_tornadoes_it_test.py | 4 +- .../cookbook/bigquery_tornadoes_test.py | 23 +- .../apache_beam/examples/cookbook/coders.py | 20 +- .../examples/cookbook/coders_test.py | 20 +- .../examples/cookbook/combiners_test.py | 8 +- .../examples/cookbook/custom_ptransform.py | 29 +- .../examples/cookbook/custom_ptransform_test.py | 17 +- .../examples/cookbook/datastore_wordcount.py | 39 +- .../apache_beam/examples/cookbook/filters.py | 21 +- .../examples/cookbook/filters_test.py | 14 +- .../examples/cookbook/group_with_coder.py | 47 +- .../examples/cookbook/group_with_coder_test.py | 9 +- .../examples/cookbook/mergecontacts.py | 121 +- .../examples/cookbook/mergecontacts_test.py | 6 +- .../examples/cookbook/multiple_output_pardo.py | 76 +- .../cookbook/multiple_output_pardo_test.py | 13 +- .../apache_beam/examples/snippets/snippets.py | 615 ++-- .../examples/snippets/snippets_test.py | 423 +-- .../apache_beam/examples/streaming_wordcap.py | 22 +- .../apache_beam/examples/streaming_wordcount.py | 42 +- sdks/python/apache_beam/examples/wordcount.py | 43 +- .../apache_beam/examples/wordcount_debugging.py | 61 +- .../examples/wordcount_debugging_test.py | 3 +- .../apache_beam/examples/wordcount_it_test.py | 6 +- .../apache_beam/examples/wordcount_minimal.py | 37 +- .../examples/wordcount_minimal_test.py | 3 +- .../apache_beam/examples/wordcount_test.py | 3 +- sdks/python/apache_beam/internal/__init__.py | 2 + .../python/apache_beam/internal/gcp/__init__.py | 2 + sdks/python/apache_beam/internal/gcp/auth.py | 50 +- .../apache_beam/internal/gcp/json_value.py | 14 +- .../apache_beam/internal/gcp/json_value_test.py | 4 +- sdks/python/apache_beam/internal/pickler.py | 28 +- sdks/python/apache_beam/internal/util.py | 21 +- sdks/python/apache_beam/io/__init__.py | 2 +- sdks/python/apache_beam/io/avroio.py | 17 +- sdks/python/apache_beam/io/avroio_test.py | 6 +- sdks/python/apache_beam/io/concat_source.py | 12 +- .../python/apache_beam/io/concat_source_test.py | 6 +- sdks/python/apache_beam/io/filebasedsink.py | 299 ++ .../python/apache_beam/io/filebasedsink_test.py | 299 ++ sdks/python/apache_beam/io/filebasedsource.py | 8 +- .../apache_beam/io/filebasedsource_test.py | 10 +- sdks/python/apache_beam/io/fileio.py | 297 -- sdks/python/apache_beam/io/fileio_test.py | 304 -- sdks/python/apache_beam/io/filesystem.py | 19 + sdks/python/apache_beam/io/filesystems.py | 38 +- sdks/python/apache_beam/io/filesystems_test.py | 15 +- sdks/python/apache_beam/io/filesystems_util.py | 36 - sdks/python/apache_beam/io/gcp/bigquery.py | 187 +- sdks/python/apache_beam/io/gcp/bigquery_test.py | 174 +- .../io/gcp/datastore/v1/datastoreio.py | 15 +- .../io/gcp/datastore/v1/datastoreio_test.py | 16 + .../io/gcp/datastore/v1/fake_datastore.py | 14 +- .../apache_beam/io/gcp/datastore/v1/helper.py | 19 +- .../io/gcp/datastore/v1/helper_test.py | 2 +- .../io/gcp/datastore/v1/query_splitter_test.py | 37 +- sdks/python/apache_beam/io/gcp/gcsfilesystem.py | 8 + .../apache_beam/io/gcp/gcsfilesystem_test.py | 5 + sdks/python/apache_beam/io/gcp/gcsio.py | 11 +- sdks/python/apache_beam/io/gcp/gcsio_test.py | 22 +- sdks/python/apache_beam/io/gcp/pubsub.py | 137 +- sdks/python/apache_beam/io/gcp/pubsub_test.py | 57 +- .../io/gcp/tests/bigquery_matcher.py | 5 +- .../io/gcp/tests/bigquery_matcher_test.py | 2 +- sdks/python/apache_beam/io/iobase.py | 23 +- sdks/python/apache_beam/io/localfilesystem.py | 7 + .../apache_beam/io/localfilesystem_test.py | 4 + sdks/python/apache_beam/io/range_trackers.py | 7 +- sdks/python/apache_beam/io/source_test_utils.py | 8 + sdks/python/apache_beam/io/sources_test.py | 6 +- sdks/python/apache_beam/io/textio.py | 19 +- sdks/python/apache_beam/io/textio_test.py | 7 +- sdks/python/apache_beam/io/tfrecordio.py | 19 +- sdks/python/apache_beam/io/tfrecordio_test.py | 26 +- sdks/python/apache_beam/metrics/__init__.py | 1 + sdks/python/apache_beam/metrics/cells.py | 50 +- sdks/python/apache_beam/metrics/execution.py | 7 +- sdks/python/apache_beam/metrics/metric.py | 4 + sdks/python/apache_beam/metrics/metricbase.py | 2 + sdks/python/apache_beam/options/__init__.py | 16 + .../apache_beam/options/pipeline_options.py | 651 ++++ .../options/pipeline_options_test.py | 240 ++ .../options/pipeline_options_validator.py | 201 ++ .../options/pipeline_options_validator_test.py | 335 ++ .../apache_beam/options/value_provider.py | 110 + .../apache_beam/options/value_provider_test.py | 145 + sdks/python/apache_beam/pipeline.py | 52 +- sdks/python/apache_beam/pipeline_test.py | 8 +- sdks/python/apache_beam/pvalue.py | 18 +- sdks/python/apache_beam/pvalue_test.py | 2 +- sdks/python/apache_beam/runners/api/__init__.py | 13 +- .../apache_beam/runners/api/beam_fn_api_pb2.py | 2740 ----------------- .../runners/api/beam_fn_api_pb2_grpc.py | 203 -- .../runners/api/beam_runner_api_pb2.py | 2870 ------------------ sdks/python/apache_beam/runners/common.pxd | 6 +- sdks/python/apache_beam/runners/common.py | 99 +- sdks/python/apache_beam/runners/common_test.py | 58 + .../apache_beam/runners/dataflow/__init__.py | 9 + .../runners/dataflow/dataflow_metrics.py | 114 +- .../runners/dataflow/dataflow_metrics_test.py | 197 +- .../runners/dataflow/dataflow_runner.py | 80 +- .../runners/dataflow/dataflow_runner_test.py | 20 +- .../runners/dataflow/internal/apiclient.py | 19 +- .../runners/dataflow/internal/apiclient_test.py | 23 +- .../runners/dataflow/internal/dependency.py | 30 +- .../dataflow/internal/dependency_test.py | 20 +- .../runners/dataflow/internal/names.py | 8 +- .../runners/dataflow/native_io/iobase.py | 2 + .../runners/dataflow/template_runner_test.py | 2 +- .../runners/dataflow/test_dataflow_runner.py | 5 +- .../apache_beam/runners/direct/__init__.py | 6 +- .../runners/direct/bundle_factory.py | 16 +- sdks/python/apache_beam/runners/direct/clock.py | 5 +- .../consumer_tracking_pipeline_visitor.py | 4 +- .../apache_beam/runners/direct/direct_runner.py | 7 +- .../apache_beam/runners/direct/executor.py | 67 +- .../runners/direct/transform_evaluator.py | 20 +- .../runners/direct/transform_result.py | 4 +- .../runners/direct/watermark_manager.py | 14 +- .../apache_beam/runners/pipeline_context.py | 10 +- .../apache_beam/runners/portability/__init__.py | 2 + .../runners/portability/fn_api_runner.py | 4 +- .../portability/maptask_executor_runner.py | 9 +- .../portability/maptask_executor_runner_test.py | 35 +- sdks/python/apache_beam/runners/runner.py | 11 +- sdks/python/apache_beam/runners/runner_test.py | 6 +- .../apache_beam/runners/worker/__init__.py | 2 + .../apache_beam/runners/worker/data_plane.py | 2 + .../runners/worker/data_plane_test.py | 2 +- .../apache_beam/runners/worker/log_handler.py | 2 + .../runners/worker/log_handler_test.py | 2 +- .../python/apache_beam/runners/worker/logger.py | 2 + .../apache_beam/runners/worker/opcounters.py | 2 + .../runners/worker/operation_specs.py | 13 +- .../apache_beam/runners/worker/operations.py | 2 +- .../apache_beam/runners/worker/sdk_worker.py | 10 +- .../runners/worker/sdk_worker_main.py | 2 + .../runners/worker/sdk_worker_test.py | 2 +- .../apache_beam/runners/worker/sideinputs.py | 2 + .../runners/worker/statesampler_fake.py | 2 + sdks/python/apache_beam/test_pipeline.py | 163 - sdks/python/apache_beam/test_pipeline_test.py | 112 - sdks/python/apache_beam/testing/__init__.py | 16 + .../testing/data/standard_coders.yaml | 196 ++ .../testing/data/trigger_transcripts.yaml | 224 ++ .../apache_beam/testing/pipeline_verifiers.py | 154 + .../testing/pipeline_verifiers_test.py | 148 + .../python/apache_beam/testing/test_pipeline.py | 168 + .../apache_beam/testing/test_pipeline_test.py | 112 + sdks/python/apache_beam/testing/test_stream.py | 175 ++ .../apache_beam/testing/test_stream_test.py | 83 + sdks/python/apache_beam/testing/test_utils.py | 73 + sdks/python/apache_beam/testing/util.py | 123 + sdks/python/apache_beam/testing/util_test.py | 50 + sdks/python/apache_beam/tests/__init__.py | 16 - sdks/python/apache_beam/tests/data/README.md | 20 - .../apache_beam/tests/data/privatekey.p12 | Bin 2452 -> 0 bytes .../apache_beam/tests/data/standard_coders.yaml | 196 -- .../apache_beam/tests/pipeline_verifiers.py | 146 - .../tests/pipeline_verifiers_test.py | 148 - sdks/python/apache_beam/tests/test_utils.py | 69 - sdks/python/apache_beam/transforms/__init__.py | 2 +- .../apache_beam/transforms/combiners_test.py | 62 +- sdks/python/apache_beam/transforms/core.py | 96 +- .../apache_beam/transforms/create_test.py | 5 +- .../apache_beam/transforms/cy_combiners.py | 5 +- sdks/python/apache_beam/transforms/display.py | 2 +- .../apache_beam/transforms/display_test.py | 2 +- .../python/apache_beam/transforms/ptransform.py | 45 +- .../apache_beam/transforms/ptransform_test.py | 22 +- .../python/apache_beam/transforms/sideinputs.py | 2 + .../apache_beam/transforms/sideinputs_test.py | 4 +- sdks/python/apache_beam/transforms/timeutil.py | 33 +- sdks/python/apache_beam/transforms/trigger.py | 118 +- .../apache_beam/transforms/trigger_test.py | 50 +- .../transforms/trigger_transcripts.yaml | 224 -- sdks/python/apache_beam/transforms/util.py | 79 - sdks/python/apache_beam/transforms/util_test.py | 50 - sdks/python/apache_beam/transforms/window.py | 108 +- .../apache_beam/transforms/window_test.py | 159 +- .../transforms/write_ptransform_test.py | 11 +- sdks/python/apache_beam/typehints/decorators.py | 17 +- sdks/python/apache_beam/typehints/opcodes.py | 2 + .../apache_beam/typehints/trivial_inference.py | 2 + sdks/python/apache_beam/typehints/typecheck.py | 17 +- .../typehints/typed_pipeline_test.py | 28 +- sdks/python/apache_beam/typehints/typehints.py | 18 + .../apache_beam/typehints/typehints_test.py | 19 +- sdks/python/apache_beam/utils/__init__.py | 5 +- sdks/python/apache_beam/utils/annotations.py | 4 +- sdks/python/apache_beam/utils/counters.py | 5 +- .../apache_beam/utils/pipeline_options.py | 627 ---- .../apache_beam/utils/pipeline_options_test.py | 240 -- .../utils/pipeline_options_validator.py | 199 -- .../utils/pipeline_options_validator_test.py | 343 --- sdks/python/apache_beam/utils/processes.py | 6 +- sdks/python/apache_beam/utils/profiler.py | 5 +- sdks/python/apache_beam/utils/proto_utils.py | 8 + sdks/python/apache_beam/utils/retry.py | 2 + sdks/python/apache_beam/utils/test_stream.py | 163 - .../apache_beam/utils/test_stream_test.py | 83 - sdks/python/apache_beam/utils/timestamp.py | 5 +- sdks/python/apache_beam/utils/urns.py | 12 +- sdks/python/apache_beam/utils/value_provider.py | 103 - .../apache_beam/utils/value_provider_test.py | 145 - sdks/python/apache_beam/utils/windowed_value.py | 4 +- .../apache_beam/utils/windowed_value_test.py | 2 +- sdks/python/apache_beam/version.py | 2 +- sdks/python/gen_protos.py | 125 + sdks/python/generate_pydoc.sh | 15 +- sdks/python/pom.xml | 2 +- sdks/python/run_pylint.sh | 4 +- sdks/python/setup.py | 55 +- sdks/python/tox.ini | 16 + 1387 files changed, 41784 insertions(+), 39958 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/beam/blob/4c5b7584/pom.xml ----------------------------------------------------------------------
