Merge branch 'master' upto commit 269bf89463094a17f51d61d30bedd388b04dc8c0 into mr-runner
Project: http://git-wip-us.apache.org/repos/asf/beam/repo Commit: http://git-wip-us.apache.org/repos/asf/beam/commit/7181d0c3 Tree: http://git-wip-us.apache.org/repos/asf/beam/tree/7181d0c3 Diff: http://git-wip-us.apache.org/repos/asf/beam/diff/7181d0c3 Branch: refs/heads/mr-runner Commit: 7181d0c30db5de8d435f04fd3b2caf78793865b4 Parents: 5fa0b14 269bf89 Author: Pei He <[email protected]> Authored: Tue Nov 7 15:22:08 2017 +0800 Committer: Pei He <[email protected]> Committed: Tue Nov 7 15:22:08 2017 +0800 ---------------------------------------------------------------------- .gitattributes | 2 + .gitignore | 9 +- .test-infra/jenkins/PreCommit_Pipeline.groovy | 129 + .../jenkins/common_job_properties.groovy | 205 +- .test-infra/jenkins/job_00_seed.groovy | 114 + .test-infra/jenkins/job_beam_Java_Build.groovy | 82 + .../jenkins/job_beam_Java_CodeHealth.groovy | 39 + .../job_beam_Java_IntegrationTest.groovy | 63 + .../jenkins/job_beam_Java_UnitTest.groovy | 48 + ...job_beam_PostCommit_Java_MavenInstall.groovy | 21 +- ..._PostCommit_Java_MavenInstall_Windows.groovy | 2 +- ...ommit_Python_ValidatesRunner_Dataflow.groovy | 54 + .../job_beam_PreCommit_Go_MavenInstall.groovy | 56 + .../job_beam_PreCommit_Java_MavenInstall.groovy | 21 +- .../jenkins/job_beam_PreCommit_Pipeline.groovy | 84 + ...ob_beam_PreCommit_Python_MavenInstall.groovy | 56 + .../job_beam_PreCommit_Website_Merge.groovy | 3 + .../job_beam_PreCommit_Website_Stage.groovy | 3 + .../job_beam_PreCommit_Website_Test.groovy | 3 + .../jenkins/job_beam_Python_UnitTest.groovy | 40 + .../job_beam_Release_NightlySnapshot.groovy | 22 +- .test-infra/jenkins/job_seed.groovy | 53 - .test-infra/jenkins/job_seed_standalone.groovy | 114 + examples/java/pom.xml | 8 +- .../apache/beam/examples/WindowedWordCount.java | 1 - .../examples/cookbook/BigQueryTornadoes.java | 2 +- .../cookbook/CombinePerKeyExamples.java | 2 +- .../beam/examples/cookbook/FilterExamples.java | 2 +- .../beam/examples/cookbook/JoinExamples.java | 6 +- .../examples/cookbook/MaxPerKeyExamples.java | 2 +- examples/java8/pom.xml | 14 +- .../complete/game/injector/Injector.java | 2 +- .../complete/game/injector/InjectorUtils.java | 2 +- .../examples/website_snippets/Snippets.java | 87 + .../examples/website_snippets/SnippetsTest.java | 114 + examples/pom.xml | 2 +- model/fn-execution/pom.xml | 114 + .../src/main/proto/beam_fn_api.proto | 729 ++++ .../src/main/proto/beam_provision_api.proto | 99 + .../model/fnexecution/v1/standard_coders.yaml | 195 + model/job-management/pom.xml | 114 + .../src/main/proto/beam_artifact_api.proto | 134 + .../src/main/proto/beam_job_api.proto | 174 + model/pipeline/pom.xml | 89 + .../src/main/proto/beam_runner_api.proto | 843 +++++ model/pipeline/src/main/proto/endpoints.proto | 47 + .../src/main/proto/standard_window_fns.proto | 54 + model/pom.xml | 40 + pom.xml | 368 +- runners/apex/pom.xml | 9 +- .../beam/runners/apex/ApexPipelineOptions.java | 2 +- .../beam/runners/apex/ApexRunnerResult.java | 4 +- .../apex/translation/ParDoTranslator.java | 24 +- .../operators/ApexParDoOperator.java | 22 +- .../translation/utils/ApexStateInternals.java | 17 +- .../apex/translation/utils/ValuesSource.java | 4 - .../beam/runners/apex/ApexYarnLauncherTest.java | 9 +- .../apex/examples/UnboundedTextSource.java | 4 - .../FlattenPCollectionTranslatorTest.java | 1 - .../translation/GroupByKeyTranslatorTest.java | 4 - .../apex/translation/ParDoTranslatorTest.java | 4 +- .../translation/utils/CollectionSource.java | 4 - runners/core-construction-java/pom.xml | 19 +- .../construction/ArtifactServiceStager.java | 244 ++ .../core/construction/CoderTranslation.java | 22 +- .../core/construction/CombineTranslation.java | 224 +- .../CreatePCollectionViewTranslation.java | 28 +- .../construction/DisplayDataTranslation.java | 4 +- .../core/construction/FlattenTranslator.java | 12 +- .../construction/GroupByKeyTranslation.java | 17 +- .../construction/PCollectionTranslation.java | 10 +- .../construction/PTransformTranslation.java | 292 +- .../core/construction/ParDoTranslation.java | 392 +- .../PipelineOptionsTranslation.java | 51 + .../core/construction/PipelineTranslation.java | 137 +- .../core/construction/ReadTranslation.java | 113 +- .../core/construction/RehydratedComponents.java | 9 +- .../construction/RunnerPCollectionView.java | 2 +- .../core/construction/SdkComponents.java | 17 +- .../core/construction/SplittableParDo.java | 8 + .../construction/TestStreamTranslation.java | 170 +- .../TransformPayloadTranslatorRegistrar.java | 2 + .../core/construction/TriggerTranslation.java | 10 +- .../construction/WindowIntoTranslation.java | 30 +- .../WindowingStrategyTranslation.java | 150 +- .../construction/WriteFilesTranslation.java | 245 +- .../construction/ArtifactServiceStagerTest.java | 141 + .../core/construction/CoderTranslationTest.java | 4 +- .../construction/CombineTranslationTest.java | 20 +- .../CreatePCollectionViewTranslationTest.java | 10 +- .../InMemoryArtifactStagerService.java | 152 + .../PCollectionTranslationTest.java | 2 +- .../construction/PTransformMatchersTest.java | 15 +- .../construction/PTransformTranslationTest.java | 39 +- .../core/construction/ParDoTranslationTest.java | 9 +- .../PipelineOptionsTranslationTest.java | 143 + .../construction/PipelineTranslationTest.java | 2 +- .../core/construction/ReadTranslationTest.java | 14 +- .../core/construction/SdkComponentsTest.java | 2 +- .../construction/TestStreamTranslationTest.java | 12 +- .../construction/WindowIntoTranslationTest.java | 2 +- .../WindowingStrategyTranslationTest.java | 2 +- .../construction/WriteFilesTranslationTest.java | 15 +- runners/core-java/pom.xml | 31 +- .../runners/core/InMemoryStateInternals.java | 39 +- .../runners/core/InMemoryTimerInternals.java | 28 +- .../beam/runners/core/SideInputHandler.java | 2 +- .../core/SplittableParDoViaKeyedWorkItems.java | 7 + .../apache/beam/runners/core/StateTable.java | 40 +- .../org/apache/beam/runners/core/StateTags.java | 13 + .../core/TestInMemoryStateInternals.java | 6 +- .../apache/beam/runners/core/WatermarkHold.java | 6 +- .../runners/core/fn/FnApiControlClient.java | 148 + .../core/fn/FnApiControlClientPoolService.java | 66 + .../beam/runners/core/fn/FnDataReceiver.java | 33 + .../beam/runners/core/fn/FnDataService.java | 81 + .../beam/runners/core/fn/SdkHarnessClient.java | 172 + .../runners/core/fn/SdkHarnessDoFnRunner.java | 102 + .../beam/runners/core/fn/package-info.java | 22 + .../core/metrics/MetricsContainerImpl.java | 40 + .../triggers/AfterWatermarkStateMachine.java | 8 +- .../triggers/TriggerStateMachineRunner.java | 3 +- .../core/triggers/TriggerStateMachines.java | 2 +- .../beam/runners/core/ReduceFnTester.java | 22 +- .../beam/runners/core/StateInternalsTest.java | 59 + .../fn/FnApiControlClientPoolServiceTest.java | 65 + .../runners/core/fn/FnApiControlClientTest.java | 139 + .../runners/core/fn/SdkHarnessClientTest.java | 96 + .../core/fn/SdkHarnessDoFnRunnerTest.java | 73 + .../core/metrics/MetricsContainerImplTest.java | 10 + .../AfterWatermarkStateMachineTest.java | 29 + .../triggers/TriggerStateMachineTester.java | 13 +- .../core/triggers/TriggerStateMachinesTest.java | 2 +- runners/direct-java/pom.xml | 14 +- .../CopyOnAccessInMemoryStateInternals.java | 10 +- .../beam/runners/direct/DirectGroupByKey.java | 16 +- .../beam/runners/direct/DirectRunner.java | 5 +- .../GroupAlsoByWindowEvaluatorFactory.java | 2 +- .../beam/runners/direct/MultiStepCombine.java | 18 +- .../runners/direct/ParDoEvaluatorFactory.java | 30 +- .../direct/ParDoMultiOverrideFactory.java | 9 +- ...littableProcessElementsEvaluatorFactory.java | 3 +- .../direct/StatefulParDoEvaluatorFactory.java | 15 +- .../direct/TestStreamEvaluatorFactory.java | 9 +- .../direct/TransformEvaluatorRegistry.java | 37 +- .../runners/direct/ViewOverrideFactory.java | 8 +- .../direct/WriteWithShardingFactory.java | 37 +- .../direct/BoundedReadEvaluatorFactoryTest.java | 4 - .../CopyOnAccessInMemoryStateInternalsTest.java | 74 +- .../UnboundedReadEvaluatorFactoryTest.java | 3 - .../direct/WriteWithShardingFactoryTest.java | 11 +- runners/flink/pom.xml | 4 +- .../runners/flink/CreateStreamingFlinkView.java | 3 + .../flink/FlinkBatchPipelineTranslator.java | 3 +- .../runners/flink/FlinkPipelineOptions.java | 11 + .../FlinkStreamingTransformTranslators.java | 244 +- .../functions/FlinkAssignContext.java | 17 +- .../translation/types/CoderTypeSerializer.java | 2 +- .../wrappers/streaming/DoFnOperator.java | 429 ++- .../streaming/SplittableDoFnOperator.java | 4 +- .../wrappers/streaming/WindowDoFnOperator.java | 4 +- .../state/FlinkSplitStateInternals.java | 8 +- .../streaming/state/FlinkStateInternals.java | 13 +- .../beam/runners/flink/PipelineOptionsTest.java | 21 +- .../flink/streaming/DoFnOperatorTest.java | 161 +- .../flink/streaming/TestCountingSource.java | 3 - .../types/CoderTypeSerializerTest.java | 79 + runners/gcp/gcemd/Dockerfile | 30 + runners/gcp/gcemd/main.go | 85 + runners/gcp/gcemd/pom.xml | 154 + runners/gcp/gcsproxy/Dockerfile | 30 + runners/gcp/gcsproxy/main.go | 91 + runners/gcp/gcsproxy/pom.xml | 154 + runners/gcp/pom.xml | 38 + runners/gearpump/pom.xml | 21 +- .../gearpump/GearpumpPipelineResult.java | 3 +- .../translators/GroupByKeyTranslator.java | 2 +- .../gearpump/translators/io/GearpumpSource.java | 7 +- .../gearpump/translators/io/ValuesSource.java | 8 - .../translators/utils/DoFnRunnerFactory.java | 7 +- .../translators/utils/TranslatorUtils.java | 20 - .../FlattenPCollectionsTranslatorTest.java | 6 + runners/google-cloud-dataflow-java/pom.xml | 22 +- .../beam/runners/dataflow/AssignWindows.java | 84 - .../dataflow/BatchStatefulParDoOverrides.java | 71 +- .../dataflow/DataflowPipelineTranslator.java | 5 +- .../beam/runners/dataflow/DataflowRunner.java | 69 +- .../runners/dataflow/DataflowRunnerInfo.java | 91 +- .../dataflow/PrimitiveParDoSingleFactory.java | 2 +- .../dataflow/options/CloudDebuggerOptions.java | 3 +- .../options/DataflowPipelineDebugOptions.java | 23 +- .../options/DataflowPipelineOptions.java | 8 + .../options/DataflowProfilingOptions.java | 3 +- .../options/DataflowWorkerLoggingOptions.java | 6 + ...aultCoderCloudObjectTranslatorRegistrar.java | 2 + .../beam/runners/dataflow/util/DoFnInfo.java | 104 - .../beam/runners/dataflow/util/GcsStager.java | 53 +- .../runners/dataflow/util/MonitoringUtil.java | 2 +- .../beam/runners/dataflow/util/PackageUtil.java | 581 +-- .../beam/runners/dataflow/util/Stager.java | 32 +- .../BatchStatefulParDoOverridesTest.java | 45 +- .../DataflowPipelineTranslatorTest.java | 4 +- .../dataflow/DataflowRunnerInfoTest.java | 9 + .../runners/dataflow/DataflowRunnerTest.java | 107 +- .../dataflow/util/MonitoringUtilTest.java | 4 +- .../runners/dataflow/util/PackageUtilTest.java | 124 +- runners/java-fn-execution/pom.xml | 91 + .../beam/runners/fnexecution/ServerFactory.java | 104 + .../beam/runners/fnexecution/package-info.java | 23 + .../runners/fnexecution/ServerFactoryTest.java | 153 + runners/local-artifact-service-java/pom.xml | 116 + .../LocalFileSystemArtifactStagerService.java | 279 ++ .../beam/artifact/local/package-info.java | 22 + ...ocalFileSystemArtifactStagerServiceTest.java | 301 ++ runners/pom.xml | 6 +- runners/reference/job-server/pom.xml | 82 + .../reference/job/ReferenceRunnerJobServer.java | 77 + .../job/ReferenceRunnerJobService.java | 79 + .../runners/reference/job/package-info.java | 23 + .../job/ReferenceRunnerJobServiceTest.java | 34 + runners/reference/pom.xml | 39 + runners/spark/pom.xml | 6 +- .../apache/beam/runners/spark/SparkRunner.java | 5 +- .../beam/runners/spark/io/CreateStream.java | 104 +- .../SparkGroupAlsoByWindowViaWindowSet.java | 819 ++-- .../spark/stateful/SparkTimerInternals.java | 21 +- .../spark/translation/BoundedDataset.java | 17 +- .../beam/runners/spark/translation/Dataset.java | 3 +- .../spark/translation/EvaluationContext.java | 23 +- .../spark/translation/SparkContextFactory.java | 2 - .../translation/StorageLevelPTransform.java | 37 - .../spark/translation/TransformTranslator.java | 53 +- .../spark/translation/TranslationUtils.java | 78 + .../streaming/StreamingTransformTranslator.java | 86 +- .../translation/streaming/UnboundedDataset.java | 27 +- .../streaming/WatermarkSyncedDStream.java | 149 + .../spark/util/GlobalWatermarkHolder.java | 302 +- .../runners/spark/SparkPipelineStateTest.java | 4 +- .../runners/spark/SparkRunnerDebuggerTest.java | 11 +- .../spark/translation/StorageLevelTest.java | 75 - .../translation/streaming/CreateStreamTest.java | 33 +- .../spark/src/test/resources/log4j.properties | 11 +- sdks/CONTAINERS.md | 162 + sdks/common/fn-api/pom.xml | 109 - .../fn-api/src/main/proto/beam_fn_api.proto | 659 ---- .../org/apache/beam/fn/v1/standard_coders.yaml | 195 - sdks/common/pom.xml | 39 - sdks/common/runner-api/pom.xml | 109 - .../src/main/proto/beam_job_api.proto | 143 - .../src/main/proto/beam_runner_api.proto | 812 ---- .../src/main/proto/standard_window_fns.proto | 53 - sdks/go/BUILD.md | 63 + sdks/go/cmd/beamctl/cmd/artifact.go | 98 + sdks/go/cmd/beamctl/cmd/root.go | 56 + sdks/go/cmd/beamctl/main.go | 31 + sdks/go/descriptor.xml | 29 + sdks/go/pkg/beam/artifact/gcsproxy/retrieval.go | 155 + sdks/go/pkg/beam/artifact/gcsproxy/staging.go | 200 + sdks/go/pkg/beam/artifact/materialize.go | 240 ++ sdks/go/pkg/beam/artifact/materialize_test.go | 238 ++ sdks/go/pkg/beam/artifact/server_test.go | 213 ++ sdks/go/pkg/beam/artifact/stage.go | 238 ++ sdks/go/pkg/beam/artifact/stage_test.go | 98 + .../beam/model/fnexecution_v1/beam_fn_api.pb.go | 2729 ++++++++++++++ .../fnexecution_v1/beam_provision_api.pb.go | 306 ++ sdks/go/pkg/beam/model/gen.go | 22 + .../jobmanagement_v1/beam_artifact_api.pb.go | 690 ++++ .../model/jobmanagement_v1/beam_job_api.pb.go | 903 +++++ .../model/pipeline_v1/beam_runner_api.pb.go | 3491 ++++++++++++++++++ .../pkg/beam/model/pipeline_v1/endpoints.pb.go | 160 + .../model/pipeline_v1/standard_window_fns.pb.go | 120 + sdks/go/pkg/beam/provision/provision_test.go | 54 + sdks/go/pkg/beam/provision/provison.go | 80 + sdks/go/pkg/beam/util/errorx/guarded.go | 47 + sdks/go/pkg/beam/util/execx/exec.go | 33 + sdks/go/pkg/beam/util/gcsx/gcs.go | 88 + sdks/go/pkg/beam/util/grpcx/dial.go | 37 + sdks/go/pkg/beam/util/grpcx/metadata.go | 55 + sdks/go/pkg/beam/util/syscallx/syscall.go | 27 + .../pkg/beam/util/syscallx/syscall_default.go | 28 + sdks/go/pkg/beam/util/syscallx/syscall_linux.go | 38 + sdks/go/pom.xml | 163 + sdks/java/build-tools/pom.xml | 2 +- .../src/main/resources/beam/findbugs-filter.xml | 51 +- .../resources/docker/file/openjdk7/Dockerfile | 49 + .../docker/file/openjdk7/docker-entrypoint.sh | 24 + .../resources/docker/file/openjdk8/Dockerfile | 49 + .../docker/file/openjdk8/docker-entrypoint.sh | 24 + .../resources/docker/git/openjdk8/Dockerfile | 53 + .../docker/git/openjdk8/docker-entrypoint.sh | 22 + .../resources/docker/release/python2/Dockerfile | 21 + sdks/java/container/Dockerfile | 28 + sdks/java/container/boot.go | 134 + sdks/java/container/pom.xml | 184 + sdks/java/core/pom.xml | 15 +- .../main/java/org/apache/beam/sdk/Pipeline.java | 12 +- .../org/apache/beam/sdk/PipelineResult.java | 14 +- .../beam/sdk/annotations/Experimental.java | 8 +- .../beam/sdk/annotations/package-info.java | 4 + .../apache/beam/sdk/coders/BeamRecordCoder.java | 111 + .../apache/beam/sdk/coders/CoderRegistry.java | 6 + .../apache/beam/sdk/coders/DefaultCoder.java | 17 +- .../beam/sdk/coders/LengthPrefixCoder.java | 3 +- .../beam/sdk/coders/SerializableCoder.java | 5 +- .../apache/beam/sdk/coders/StructuredCoder.java | 42 +- .../org/apache/beam/sdk/coders/VoidCoder.java | 12 +- .../apache/beam/sdk/coders/package-info.java | 4 + .../java/org/apache/beam/sdk/io/AvroIO.java | 544 ++- .../java/org/apache/beam/sdk/io/AvroSink.java | 2 +- .../java/org/apache/beam/sdk/io/AvroSource.java | 32 +- .../apache/beam/sdk/io/BlockBasedSource.java | 27 +- .../apache/beam/sdk/io/CompressedSource.java | 292 +- .../org/apache/beam/sdk/io/Compression.java | 228 ++ .../org/apache/beam/sdk/io/CountingSource.java | 3 - .../beam/sdk/io/DefaultFilenamePolicy.java | 25 +- .../org/apache/beam/sdk/io/FileBasedSink.java | 138 +- .../org/apache/beam/sdk/io/FileBasedSource.java | 29 +- .../java/org/apache/beam/sdk/io/FileIO.java | 450 +++ .../apache/beam/sdk/io/GenerateSequence.java | 3 +- .../org/apache/beam/sdk/io/LocalFileSystem.java | 9 +- .../main/java/org/apache/beam/sdk/io/Match.java | 156 - .../beam/sdk/io/ReadAllViaFileBasedSource.java | 100 +- .../apache/beam/sdk/io/ReadableFileCoder.java | 50 + .../java/org/apache/beam/sdk/io/Source.java | 2 +- .../java/org/apache/beam/sdk/io/TFRecordIO.java | 171 +- .../java/org/apache/beam/sdk/io/TextIO.java | 590 +-- .../java/org/apache/beam/sdk/io/TextSource.java | 117 +- .../java/org/apache/beam/sdk/io/WriteFiles.java | 127 +- .../apache/beam/sdk/io/WriteFilesResult.java | 81 + .../org/apache/beam/sdk/io/package-info.java | 2 +- .../beam/sdk/io/range/ByteKeyRangeTracker.java | 5 + .../beam/sdk/io/range/OffsetRangeTracker.java | 22 +- .../org/apache/beam/sdk/metrics/MetricName.java | 7 + .../apache/beam/sdk/metrics/package-info.java | 4 + .../DefaultPipelineOptionsRegistrar.java | 2 + .../beam/sdk/options/ExperimentalOptions.java | 38 + .../beam/sdk/options/PipelineOptions.java | 36 + .../sdk/options/PipelineOptionsFactory.java | 45 + .../beam/sdk/options/SdkHarnessOptions.java | 173 + .../apache/beam/sdk/options/ValueProvider.java | 28 +- .../apache/beam/sdk/options/ValueProviders.java | 15 +- .../java/org/apache/beam/sdk/package-info.java | 4 + .../beam/sdk/runners/TransformHierarchy.java | 19 +- .../apache/beam/sdk/runners/package-info.java | 4 + .../org/apache/beam/sdk/state/BagState.java | 6 + .../apache/beam/sdk/state/CombiningState.java | 5 + .../apache/beam/sdk/state/GroupingState.java | 12 +- .../org/apache/beam/sdk/state/MapState.java | 20 +- .../apache/beam/sdk/state/ReadableState.java | 6 + .../apache/beam/sdk/state/ReadableStates.java | 4 +- .../org/apache/beam/sdk/state/SetState.java | 10 +- .../org/apache/beam/sdk/state/StateSpecs.java | 4 +- .../org/apache/beam/sdk/state/package-info.java | 4 + .../beam/sdk/testing/FileChecksumMatcher.java | 41 +- .../org/apache/beam/sdk/testing/PAssert.java | 74 +- .../apache/beam/sdk/testing/PaneExtractors.java | 25 +- .../beam/sdk/testing/SourceTestUtils.java | 11 + .../beam/sdk/testing/SuccessOrFailure.java | 24 +- .../apache/beam/sdk/testing/TestPipeline.java | 53 +- .../beam/sdk/testing/WindowFnTestUtils.java | 141 +- .../apache/beam/sdk/testing/WindowSupplier.java | 4 +- .../apache/beam/sdk/testing/package-info.java | 5 + .../sdk/transforms/ApproximateQuantiles.java | 10 +- .../beam/sdk/transforms/ApproximateUnique.java | 4 +- .../org/apache/beam/sdk/transforms/Combine.java | 10 +- .../apache/beam/sdk/transforms/CombineFns.java | 2 + .../apache/beam/sdk/transforms/Contextful.java | 127 + .../org/apache/beam/sdk/transforms/Create.java | 5 +- .../apache/beam/sdk/transforms/Distinct.java | 2 + .../apache/beam/sdk/transforms/DoFnTester.java | 27 +- .../beam/sdk/transforms/FlatMapElements.java | 150 +- .../org/apache/beam/sdk/transforms/Latest.java | 2 +- .../apache/beam/sdk/transforms/MapElements.java | 77 +- .../org/apache/beam/sdk/transforms/Max.java | 5 +- .../org/apache/beam/sdk/transforms/Min.java | 8 +- .../apache/beam/sdk/transforms/PTransform.java | 7 +- .../org/apache/beam/sdk/transforms/ParDo.java | 8 +- .../beam/sdk/transforms/Requirements.java | 61 + .../apache/beam/sdk/transforms/Reshuffle.java | 47 + .../org/apache/beam/sdk/transforms/Top.java | 5 +- .../org/apache/beam/sdk/transforms/View.java | 9 +- .../org/apache/beam/sdk/transforms/Watch.java | 82 +- .../apache/beam/sdk/transforms/WithKeys.java | 12 +- .../sdk/transforms/display/DisplayData.java | 25 +- .../sdk/transforms/display/package-info.java | 4 + .../beam/sdk/transforms/join/CoGbkResult.java | 15 +- .../transforms/join/KeyedPCollectionTuple.java | 10 +- .../beam/sdk/transforms/join/RawUnionValue.java | 8 +- .../beam/sdk/transforms/join/package-info.java | 4 + .../beam/sdk/transforms/package-info.java | 4 + .../reflect/ByteBuddyDoFnInvokerFactory.java | 3 +- .../sdk/transforms/reflect/DoFnInvoker.java | 50 +- .../sdk/transforms/reflect/DoFnSignatures.java | 1 + .../sdk/transforms/reflect/package-info.java | 3 + .../splittabledofn/OffsetRangeTracker.java | 5 +- .../transforms/splittabledofn/package-info.java | 4 + .../windowing/IncompatibleWindowException.java | 2 +- .../MergeOverlappingIntervalWindows.java | 4 +- .../beam/sdk/transforms/windowing/Trigger.java | 20 +- .../beam/sdk/transforms/windowing/Window.java | 1 + .../sdk/transforms/windowing/package-info.java | 4 + .../org/apache/beam/sdk/util/ApiSurface.java | 2 + .../org/apache/beam/sdk/util/CoderUtils.java | 2 +- .../java/org/apache/beam/sdk/util/DoFnInfo.java | 104 + .../apache/beam/sdk/util/MutationDetectors.java | 79 +- .../beam/sdk/util/SerializableThrowable.java | 49 + .../apache/beam/sdk/util/SerializableUtils.java | 69 +- .../org/apache/beam/sdk/values/BeamRecord.java | 319 ++ .../apache/beam/sdk/values/BeamRecordType.java | 96 + .../apache/beam/sdk/values/TypeDescriptors.java | 37 +- .../java/org/apache/beam/sdk/PipelineTest.java | 51 +- .../apache/beam/sdk/coders/AvroCoderTest.java | 35 +- .../apache/beam/sdk/coders/CommonCoderTest.java | 4 +- .../apache/beam/sdk/coders/VoidCoderTest.java | 11 +- .../java/org/apache/beam/sdk/io/AvroIOTest.java | 417 ++- .../apache/beam/sdk/io/AvroIOTransformTest.java | 324 -- .../beam/sdk/io/CompressedSourceTest.java | 96 +- .../apache/beam/sdk/io/FileBasedSinkTest.java | 43 +- .../apache/beam/sdk/io/FileBasedSourceTest.java | 3 - .../java/org/apache/beam/sdk/io/FileIOTest.java | 313 ++ .../org/apache/beam/sdk/io/FileSystemsTest.java | 15 +- .../beam/sdk/io/OffsetBasedSourceTest.java | 3 - .../java/org/apache/beam/sdk/io/ReadTest.java | 6 - .../java/org/apache/beam/sdk/io/SimpleSink.java | 23 +- .../org/apache/beam/sdk/io/TFRecordIOTest.java | 35 +- .../org/apache/beam/sdk/io/TextIOReadTest.java | 1305 ++++--- .../org/apache/beam/sdk/io/TextIOWriteTest.java | 40 +- .../org/apache/beam/sdk/io/WriteFilesTest.java | 11 +- .../sdk/io/range/ByteKeyRangeTrackerTest.java | 23 + .../apache/beam/sdk/metrics/MetricsTest.java | 28 + .../sdk/options/PipelineOptionsFactoryTest.java | 39 + .../beam/sdk/options/PipelineOptionsTest.java | 11 + .../sdk/options/ProxyInvocationHandlerTest.java | 4 +- .../beam/sdk/options/SdkHarnessOptionsTest.java | 76 + .../beam/sdk/options/ValueProviderTest.java | 38 +- .../runners/dataflow/TestCountingSource.java | 3 - .../sdk/testing/InterceptingUrlClassLoader.java | 57 + .../apache/beam/sdk/testing/PAssertTest.java | 41 +- .../beam/sdk/testing/PaneExtractorsTest.java | 7 +- .../beam/sdk/testing/TestPipelineTest.java | 37 +- .../transforms/ApproximateQuantilesTest.java | 528 +-- .../apache/beam/sdk/transforms/CreateTest.java | 22 +- .../sdk/transforms/FlatMapElementsTest.java | 35 +- .../apache/beam/sdk/transforms/FlattenTest.java | 35 + .../beam/sdk/transforms/MapElementsTest.java | 42 +- .../apache/beam/sdk/transforms/ParDoTest.java | 44 +- .../apache/beam/sdk/transforms/WatchTest.java | 46 +- .../beam/sdk/transforms/WithKeysTest.java | 30 +- .../transforms/reflect/DoFnInvokersTest.java | 12 +- .../sdk/transforms/windowing/WindowTest.java | 125 +- .../beam/sdk/util/MutationDetectorsTest.java | 56 + .../beam/sdk/util/SerializableUtilsTest.java | 60 + .../beam/sdk/values/TypeDescriptorsTest.java | 17 +- .../google-cloud-platform-core/pom.xml | 2 +- .../extensions/gcp/storage/GcsFileSystem.java | 5 +- .../java/org/apache/beam/sdk/util/GcsUtil.java | 6 +- .../org/apache/beam/sdk/util/GcsUtilTest.java | 45 + sdks/java/extensions/jackson/pom.xml | 2 +- sdks/java/extensions/join-library/pom.xml | 2 +- sdks/java/extensions/pom.xml | 4 +- sdks/java/extensions/protobuf/pom.xml | 2 +- sdks/java/extensions/sketching/pom.xml | 104 + .../sketching/ApproximateDistinct.java | 573 +++ .../sdk/extensions/sketching/package-info.java | 22 + .../sketching/ApproximateDistinctTest.java | 209 ++ sdks/java/extensions/sorter/pom.xml | 2 +- sdks/java/extensions/sql/NOTICE | 45 + sdks/java/extensions/sql/pom.xml | 275 ++ .../sdk/extensions/sql/BeamRecordSqlType.java | 186 + .../apache/beam/sdk/extensions/sql/BeamSql.java | 250 ++ .../sdk/extensions/sql/BeamSqlRecordHelper.java | 217 ++ .../beam/sdk/extensions/sql/BeamSqlUdf.java | 43 + .../extensions/sql/example/BeamSqlExample.java | 104 + .../extensions/sql/example/package-info.java | 23 + .../sdk/extensions/sql/impl/BeamSqlCli.java | 65 + .../sdk/extensions/sql/impl/BeamSqlEnv.java | 135 + .../interpreter/BeamSqlExpressionExecutor.java | 44 + .../sql/impl/interpreter/BeamSqlFnExecutor.java | 458 +++ .../operator/BeamSqlCaseExpression.java | 64 + .../operator/BeamSqlCastExpression.java | 132 + .../interpreter/operator/BeamSqlExpression.java | 79 + .../operator/BeamSqlInputRefExpression.java | 48 + .../interpreter/operator/BeamSqlPrimitive.java | 157 + .../operator/BeamSqlReinterpretExpression.java | 55 + .../operator/BeamSqlUdfExpression.java | 92 + .../operator/BeamSqlWindowEndExpression.java | 48 + .../operator/BeamSqlWindowExpression.java | 51 + .../operator/BeamSqlWindowStartExpression.java | 49 + .../sql/impl/interpreter/operator/UdafImpl.java | 87 + .../arithmetic/BeamSqlArithmeticExpression.java | 124 + .../arithmetic/BeamSqlDivideExpression.java | 37 + .../arithmetic/BeamSqlMinusExpression.java | 36 + .../arithmetic/BeamSqlModExpression.java | 36 + .../arithmetic/BeamSqlMultiplyExpression.java | 36 + .../arithmetic/BeamSqlPlusExpression.java | 36 + .../operator/arithmetic/package-info.java | 22 + .../comparison/BeamSqlCompareExpression.java | 97 + .../comparison/BeamSqlEqualsExpression.java | 49 + .../BeamSqlGreaterThanExpression.java | 49 + .../BeamSqlGreaterThanOrEqualsExpression.java | 49 + .../comparison/BeamSqlIsNotNullExpression.java | 54 + .../comparison/BeamSqlIsNullExpression.java | 54 + .../comparison/BeamSqlLessThanExpression.java | 49 + .../BeamSqlLessThanOrEqualsExpression.java | 49 + .../comparison/BeamSqlNotEqualsExpression.java | 49 + .../operator/comparison/package-info.java | 22 + .../date/BeamSqlCurrentDateExpression.java | 45 + .../date/BeamSqlCurrentTimeExpression.java | 53 + .../date/BeamSqlCurrentTimestampExpression.java | 49 + .../date/BeamSqlDateCeilExpression.java | 55 + .../date/BeamSqlDateFloorExpression.java | 55 + .../date/BeamSqlDatetimePlusExpression.java | 129 + .../operator/date/BeamSqlExtractExpression.java | 102 + .../date/BeamSqlIntervalMultiplyExpression.java | 103 + .../operator/date/TimeUnitUtils.java | 54 + .../interpreter/operator/date/package-info.java | 22 + .../operator/logical/BeamSqlAndExpression.java | 48 + .../logical/BeamSqlLogicalExpression.java | 46 + .../operator/logical/BeamSqlNotExpression.java | 54 + .../operator/logical/BeamSqlOrExpression.java | 48 + .../operator/logical/package-info.java | 22 + .../operator/math/BeamSqlAbsExpression.java | 74 + .../operator/math/BeamSqlAcosExpression.java | 40 + .../operator/math/BeamSqlAsinExpression.java | 40 + .../operator/math/BeamSqlAtan2Expression.java | 42 + .../operator/math/BeamSqlAtanExpression.java | 40 + .../operator/math/BeamSqlCeilExpression.java | 45 + .../operator/math/BeamSqlCosExpression.java | 40 + .../operator/math/BeamSqlCotExpression.java | 40 + .../operator/math/BeamSqlDegreesExpression.java | 40 + .../operator/math/BeamSqlExpExpression.java | 40 + .../operator/math/BeamSqlFloorExpression.java | 45 + .../operator/math/BeamSqlLnExpression.java | 40 + .../operator/math/BeamSqlLogExpression.java | 40 + .../math/BeamSqlMathBinaryExpression.java | 65 + .../math/BeamSqlMathUnaryExpression.java | 60 + .../operator/math/BeamSqlPiExpression.java | 43 + .../operator/math/BeamSqlPowerExpression.java | 44 + .../operator/math/BeamSqlRadiansExpression.java | 40 + .../operator/math/BeamSqlRandExpression.java | 55 + .../math/BeamSqlRandIntegerExpression.java | 59 + .../operator/math/BeamSqlRoundExpression.java | 107 + .../operator/math/BeamSqlSignExpression.java | 72 + .../operator/math/BeamSqlSinExpression.java | 40 + .../operator/math/BeamSqlTanExpression.java | 40 + .../math/BeamSqlTruncateExpression.java | 75 + .../interpreter/operator/math/package-info.java | 22 + .../impl/interpreter/operator/package-info.java | 22 + .../string/BeamSqlCharLengthExpression.java | 40 + .../string/BeamSqlConcatExpression.java | 63 + .../string/BeamSqlInitCapExpression.java | 56 + .../operator/string/BeamSqlLowerExpression.java | 40 + .../string/BeamSqlOverlayExpression.java | 77 + .../string/BeamSqlPositionExpression.java | 73 + .../string/BeamSqlStringUnaryExpression.java | 44 + .../string/BeamSqlSubstringExpression.java | 83 + .../operator/string/BeamSqlTrimExpression.java | 102 + .../operator/string/BeamSqlUpperExpression.java | 40 + .../operator/string/package-info.java | 22 + .../sql/impl/interpreter/package-info.java | 22 + .../sdk/extensions/sql/impl/package-info.java | 22 + .../sql/impl/planner/BeamQueryPlanner.java | 168 + .../sql/impl/planner/BeamRelDataTypeSystem.java | 40 + .../sql/impl/planner/BeamRuleSets.java | 75 + .../sql/impl/planner/package-info.java | 24 + .../sql/impl/rel/BeamAggregationRel.java | 182 + .../extensions/sql/impl/rel/BeamFilterRel.java | 69 + .../extensions/sql/impl/rel/BeamIOSinkRel.java | 75 + .../sql/impl/rel/BeamIOSourceRel.java | 62 + .../sql/impl/rel/BeamIntersectRel.java | 58 + .../extensions/sql/impl/rel/BeamJoinRel.java | 298 ++ .../sql/impl/rel/BeamLogicalConvention.java | 72 + .../extensions/sql/impl/rel/BeamMinusRel.java | 56 + .../extensions/sql/impl/rel/BeamProjectRel.java | 80 + .../extensions/sql/impl/rel/BeamRelNode.java | 39 + .../sql/impl/rel/BeamSetOperatorRelBase.java | 98 + .../extensions/sql/impl/rel/BeamSortRel.java | 235 ++ .../sql/impl/rel/BeamSqlRelUtils.java | 72 + .../extensions/sql/impl/rel/BeamUnionRel.java | 88 + .../extensions/sql/impl/rel/BeamValuesRel.java | 79 + .../extensions/sql/impl/rel/package-info.java | 23 + .../sql/impl/rule/BeamAggregationRule.java | 162 + .../sql/impl/rule/BeamFilterRule.java | 49 + .../sql/impl/rule/BeamIOSinkRule.java | 81 + .../sql/impl/rule/BeamIOSourceRule.java | 49 + .../sql/impl/rule/BeamIntersectRule.java | 50 + .../extensions/sql/impl/rule/BeamJoinRule.java | 53 + .../extensions/sql/impl/rule/BeamMinusRule.java | 50 + .../sql/impl/rule/BeamProjectRule.java | 50 + .../extensions/sql/impl/rule/BeamSortRule.java | 51 + .../extensions/sql/impl/rule/BeamUnionRule.java | 50 + .../sql/impl/rule/BeamValuesRule.java | 48 + .../extensions/sql/impl/rule/package-info.java | 23 + .../sql/impl/schema/BaseBeamTable.java | 35 + .../extensions/sql/impl/schema/BeamIOType.java | 28 + .../sql/impl/schema/BeamPCollectionTable.java | 63 + .../sql/impl/schema/BeamSqlTable.java | 54 + .../sql/impl/schema/BeamTableUtils.java | 118 + .../impl/schema/kafka/BeamKafkaCSVTable.java | 109 + .../sql/impl/schema/kafka/BeamKafkaTable.java | 109 + .../sql/impl/schema/kafka/package-info.java | 22 + .../sql/impl/schema/package-info.java | 22 + .../sql/impl/schema/text/BeamTextCSVTable.java | 70 + .../schema/text/BeamTextCSVTableIOReader.java | 58 + .../schema/text/BeamTextCSVTableIOWriter.java | 58 + .../sql/impl/schema/text/BeamTextTable.java | 41 + .../sql/impl/schema/text/package-info.java | 22 + .../transform/BeamAggregationTransforms.java | 311 ++ .../impl/transform/BeamBuiltinAggregations.java | 557 +++ .../sql/impl/transform/BeamJoinTransforms.java | 161 + .../transform/BeamSetOperatorsTransforms.java | 111 + .../sql/impl/transform/BeamSqlFilterFn.java | 63 + .../transform/BeamSqlOutputToConsoleFn.java | 41 + .../sql/impl/transform/BeamSqlProjectFn.java | 72 + .../sql/impl/transform/package-info.java | 22 + .../extensions/sql/impl/utils/CalciteUtils.java | 113 + .../extensions/sql/impl/utils/SqlTypeUtils.java | 63 + .../extensions/sql/impl/utils/package-info.java | 22 + .../beam/sdk/extensions/sql/package-info.java | 22 + .../sql/src/main/resources/log4j.properties | 23 + ...ged.org.codehaus.commons.compiler.properties | 18 + .../extensions/sql/BeamSqlApiSurfaceTest.java | 57 + .../sql/BeamSqlDslAggregationTest.java | 400 ++ .../beam/sdk/extensions/sql/BeamSqlDslBase.java | 136 + .../extensions/sql/BeamSqlDslFilterTest.java | 155 + .../sdk/extensions/sql/BeamSqlDslJoinTest.java | 188 + .../extensions/sql/BeamSqlDslProjectTest.java | 227 ++ .../extensions/sql/BeamSqlDslUdfUdafTest.java | 139 + .../beam/sdk/extensions/sql/TestUtils.java | 190 + .../impl/interpreter/BeamSqlFnExecutorTest.java | 446 +++ .../interpreter/BeamSqlFnExecutorTestBase.java | 88 + .../operator/BeamNullExperssionTest.java | 55 + .../operator/BeamSqlAndOrExpressionTest.java | 61 + .../operator/BeamSqlCaseExpressionTest.java | 93 + .../operator/BeamSqlCastExpressionTest.java | 129 + .../operator/BeamSqlCompareExpressionTest.java | 115 + .../operator/BeamSqlInputRefExpressionTest.java | 57 + .../operator/BeamSqlPrimitiveTest.java | 59 + .../BeamSqlReinterpretExpressionTest.java | 75 + .../operator/BeamSqlUdfExpressionTest.java | 51 + .../BeamSqlArithmeticExpressionTest.java | 237 ++ .../date/BeamSqlCurrentDateExpressionTest.java | 38 + .../date/BeamSqlCurrentTimeExpressionTest.java | 39 + .../BeamSqlCurrentTimestampExpressionTest.java | 39 + .../date/BeamSqlDateCeilExpressionTest.java | 50 + .../date/BeamSqlDateExpressionTestBase.java | 52 + .../date/BeamSqlDateFloorExpressionTest.java | 49 + .../date/BeamSqlDatetimePlusExpressionTest.java | 155 + .../date/BeamSqlExtractExpressionTest.java | 103 + .../BeamSqlIntervalMultiplyExpressionTest.java | 107 + .../operator/date/TimeUnitUtilsTest.java | 54 + .../logical/BeamSqlNotExpressionTest.java | 47 + .../math/BeamSqlMathBinaryExpressionTest.java | 215 ++ .../math/BeamSqlMathUnaryExpressionTest.java | 312 ++ .../string/BeamSqlCharLengthExpressionTest.java | 44 + .../string/BeamSqlConcatExpressionTest.java | 66 + .../string/BeamSqlInitCapExpressionTest.java | 54 + .../string/BeamSqlLowerExpressionTest.java | 44 + .../string/BeamSqlOverlayExpressionTest.java | 87 + .../string/BeamSqlPositionExpressionTest.java | 84 + .../BeamSqlStringUnaryExpressionTest.java | 52 + .../string/BeamSqlSubstringExpressionTest.java | 101 + .../string/BeamSqlTrimExpressionTest.java | 103 + .../string/BeamSqlUpperExpressionTest.java | 44 + .../extensions/sql/impl/rel/BaseRelTest.java | 34 + .../sql/impl/rel/BeamIntersectRelTest.java | 118 + .../rel/BeamJoinRelBoundedVsBoundedTest.java | 203 + .../rel/BeamJoinRelUnboundedVsBoundedTest.java | 240 ++ .../BeamJoinRelUnboundedVsUnboundedTest.java | 218 ++ .../sql/impl/rel/BeamMinusRelTest.java | 117 + .../impl/rel/BeamSetOperatorRelBaseTest.java | 105 + .../sql/impl/rel/BeamSortRelTest.java | 257 ++ .../sql/impl/rel/BeamUnionRelTest.java | 103 + .../sql/impl/rel/BeamValuesRelTest.java | 104 + .../sdk/extensions/sql/impl/rel/CheckSize.java | 41 + .../sql/impl/schema/BeamSqlRowCoderTest.java | 77 + .../schema/kafka/BeamKafkaCSVTableTest.java | 107 + .../impl/schema/text/BeamTextCSVTableTest.java | 176 + .../transform/BeamAggregationTransformTest.java | 453 +++ .../schema/transform/BeamTransformBaseTest.java | 97 + .../sql/impl/utils/SqlTypeUtilsTest.java | 76 + ...amSqlArithmeticOperatorsIntegrationTest.java | 165 + ...mSqlBuiltinFunctionsIntegrationTestBase.java | 168 + ...amSqlComparisonOperatorsIntegrationTest.java | 329 ++ ...mSqlConditionalFunctionsIntegrationTest.java | 60 + .../BeamSqlDateFunctionsIntegrationTest.java | 125 + .../BeamSqlLogicalFunctionsIntegrationTest.java | 43 + .../BeamSqlMathFunctionsIntegrationTest.java | 351 ++ .../BeamSqlStringFunctionsIntegrationTest.java | 51 + .../extensions/sql/mock/MockedBoundedTable.java | 134 + .../sdk/extensions/sql/mock/MockedTable.java | 42 + .../sql/mock/MockedUnboundedTable.java | 110 + sdks/java/fn-execution/pom.xml | 82 + .../harness/channel/ManagedChannelFactory.java | 82 + .../harness/channel/SocketAddressFactory.java | 64 + .../beam/harness/channel/package-info.java | 22 + .../channel/ManagedChannelFactoryTest.java | 71 + .../channel/SocketAddressFactoryTest.java | 56 + .../org/apache/beam/harness/test/Consumer.java | 26 + .../org/apache/beam/harness/test/Supplier.java | 26 + .../apache/beam/harness/test/TestExecutors.java | 93 + .../beam/harness/test/TestExecutorsTest.java | 175 + .../apache/beam/harness/test/TestStreams.java | 185 + .../beam/harness/test/TestStreamsTest.java | 109 + sdks/java/harness/pom.xml | 128 +- .../beam/fn/harness/BeamFnDataReadRunner.java | 15 +- .../beam/fn/harness/BeamFnDataWriteRunner.java | 15 +- .../beam/fn/harness/BoundedSourceRunner.java | 14 +- .../apache/beam/fn/harness/FnApiDoFnRunner.java | 398 +- .../org/apache/beam/fn/harness/FnHarness.java | 64 +- .../org/apache/beam/fn/harness/IdGenerator.java | 33 + .../fn/harness/PTransformRunnerFactory.java | 7 +- .../harness/channel/ManagedChannelFactory.java | 86 - .../harness/channel/SocketAddressFactory.java | 64 - .../beam/fn/harness/channel/package-info.java | 22 - .../fn/harness/control/BeamFnControlClient.java | 15 +- .../harness/control/ProcessBundleHandler.java | 154 +- .../fn/harness/control/RegisterHandler.java | 8 +- .../BeamFnDataBufferingOutboundObserver.java | 8 +- .../beam/fn/harness/data/BeamFnDataClient.java | 7 +- .../fn/harness/data/BeamFnDataGrpcClient.java | 19 +- .../harness/data/BeamFnDataGrpcMultiplexer.java | 24 +- .../harness/data/BeamFnDataInboundObserver.java | 4 +- .../beam/fn/harness/fake/FakeStepContext.java | 39 - .../beam/fn/harness/fake/package-info.java | 22 - .../beam/fn/harness/fn/ThrowingBiConsumer.java | 33 + .../fn/harness/logging/BeamFnLoggingClient.java | 202 +- .../beam/fn/harness/state/BagUserState.java | 121 + .../fn/harness/state/BeamFnStateClient.java | 39 + .../state/BeamFnStateGrpcClientCache.java | 173 + .../state/LazyCachingIteratorToIterable.java | 72 + .../harness/state/StateFetchingIterators.java | 126 + .../beam/fn/harness/state/package-info.java | 22 + .../harness/stream/BufferingStreamObserver.java | 16 +- .../beam/fn/harness/stream/DataStreams.java | 73 +- .../harness/stream/StreamObserverFactory.java | 4 +- .../fn/harness/BeamFnDataReadRunnerTest.java | 19 +- .../fn/harness/BeamFnDataWriteRunnerTest.java | 15 +- .../fn/harness/BoundedSourceRunnerTest.java | 21 +- .../beam/fn/harness/FnApiDoFnRunnerTest.java | 247 +- .../apache/beam/fn/harness/FnHarnessTest.java | 25 +- .../apache/beam/fn/harness/IdGeneratorTest.java | 40 + .../channel/ManagedChannelFactoryTest.java | 74 - .../channel/SocketAddressFactoryTest.java | 56 - .../control/BeamFnControlClientTest.java | 13 +- .../control/ProcessBundleHandlerTest.java | 160 +- .../fn/harness/control/RegisterHandlerTest.java | 10 +- ...BeamFnDataBufferingOutboundObserverTest.java | 4 +- .../harness/data/BeamFnDataGrpcClientTest.java | 30 +- .../data/BeamFnDataGrpcMultiplexerTest.java | 9 +- .../data/BeamFnDataInboundObserverTest.java | 2 +- .../logging/BeamFnLoggingClientTest.java | 136 +- .../beam/fn/harness/state/BagUserStateTest.java | 106 + .../state/BeamFnStateGrpcClientCacheTest.java | 234 ++ .../fn/harness/state/FakeBeamFnStateClient.java | 110 + .../LazyCachingIteratorToIterableTest.java | 76 + .../state/StateFetchingIteratorsTest.java | 99 + .../stream/BufferingStreamObserverTest.java | 12 +- .../beam/fn/harness/stream/DataStreamsTest.java | 165 +- .../stream/DirectStreamObserverTest.java | 8 +- .../beam/fn/harness/test/TestExecutors.java | 85 - .../beam/fn/harness/test/TestExecutorsTest.java | 160 - .../beam/fn/harness/test/TestStreams.java | 162 - .../beam/fn/harness/test/TestStreamsTest.java | 84 - sdks/java/io/amqp/pom.xml | 24 +- .../org/apache/beam/sdk/io/amqp/AmqpIO.java | 33 +- .../org/apache/beam/sdk/io/amqp/AmqpIOTest.java | 112 +- sdks/java/io/cassandra/pom.xml | 2 +- .../beam/sdk/io/cassandra/CassandraIO.java | 64 +- sdks/java/io/common/pom.xml | 2 +- .../sdk/io/common/IOTestPipelineOptions.java | 6 + .../elasticsearch-tests-2/pom.xml | 60 + .../src/test/contrib/create_elk_container.sh | 24 + .../sdk/io/elasticsearch/ElasticsearchIOIT.java | 123 + .../io/elasticsearch/ElasticsearchIOTest.java | 185 + .../elasticsearch-tests-5/pom.xml | 124 + .../src/test/contrib/create_elk_container.sh | 24 + .../sdk/io/elasticsearch/ElasticsearchIOIT.java | 122 + .../io/elasticsearch/ElasticsearchIOTest.java | 185 + .../org/elasticsearch/bootstrap/JarHell.java | 39 + .../elasticsearch-tests-common/pom.xml | 77 + .../elasticsearch/ElasticSearchIOTestUtils.java | 141 + .../elasticsearch/ElasticsearchIOITCommon.java | 92 + .../ElasticsearchIOTestCommon.java | 306 ++ sdks/java/io/elasticsearch-tests/pom.xml | 144 + sdks/java/io/elasticsearch/pom.xml | 228 +- .../sdk/io/elasticsearch/ElasticsearchIO.java | 448 ++- .../beam/sdk/io/elasticsearch/package-info.java | 1 - .../src/test/contrib/create_elk_container.sh | 24 - .../elasticsearch/ElasticSearchIOTestUtils.java | 138 - .../sdk/io/elasticsearch/ElasticsearchIOIT.java | 155 - .../io/elasticsearch/ElasticsearchIOTest.java | 355 -- .../elasticsearch/ElasticsearchTestDataSet.java | 97 - sdks/java/io/google-cloud-platform/pom.xml | 9 +- .../beam/sdk/io/gcp/bigquery/BatchLoads.java | 473 ++- .../sdk/io/gcp/bigquery/BigQueryHelpers.java | 28 +- .../beam/sdk/io/gcp/bigquery/BigQueryIO.java | 755 +++- .../io/gcp/bigquery/BigQueryQuerySource.java | 49 +- .../sdk/io/gcp/bigquery/BigQueryServices.java | 53 +- .../io/gcp/bigquery/BigQueryServicesImpl.java | 82 +- .../sdk/io/gcp/bigquery/BigQuerySourceBase.java | 131 +- .../gcp/bigquery/BigQueryTableRowIterator.java | 501 --- .../io/gcp/bigquery/BigQueryTableSource.java | 40 +- .../sdk/io/gcp/bigquery/CalculateSchemas.java | 78 - .../beam/sdk/io/gcp/bigquery/CreateTables.java | 23 +- .../io/gcp/bigquery/DynamicDestinations.java | 13 +- .../bigquery/DynamicDestinationsHelpers.java | 27 +- .../sdk/io/gcp/bigquery/ReifyAsIterable.java | 51 + .../sdk/io/gcp/bigquery/SchemaAndRecord.java | 43 + .../io/gcp/bigquery/StreamingWriteTables.java | 10 +- .../sdk/io/gcp/bigquery/TableDestination.java | 43 +- .../io/gcp/bigquery/TableDestinationCoder.java | 2 + .../gcp/bigquery/TableDestinationCoderV2.java | 59 + .../io/gcp/bigquery/WriteBundlesToFiles.java | 43 +- .../bigquery/WriteGroupedRecordsToFiles.java | 7 +- .../sdk/io/gcp/bigquery/WritePartition.java | 13 +- .../beam/sdk/io/gcp/bigquery/WriteRename.java | 112 +- .../beam/sdk/io/gcp/bigquery/WriteTables.java | 189 +- .../beam/sdk/io/gcp/bigtable/BigtableIO.java | 135 +- .../io/gcp/bigtable/BigtableServiceImpl.java | 16 +- .../beam/sdk/io/gcp/datastore/DatastoreV1.java | 111 +- .../apache/beam/sdk/io/gcp/pubsub/PubsubIO.java | 35 +- .../sdk/io/gcp/pubsub/PubsubUnboundedSink.java | 6 +- .../io/gcp/pubsub/PubsubUnboundedSource.java | 41 +- .../sdk/io/gcp/spanner/AbstractSpannerFn.java | 71 - .../sdk/io/gcp/spanner/CreateTransactionFn.java | 22 +- .../io/gcp/spanner/MutationGroupEncoder.java | 660 ++++ .../io/gcp/spanner/MutationSizeEstimator.java | 48 + .../sdk/io/gcp/spanner/NaiveSpannerReadFn.java | 19 +- .../beam/sdk/io/gcp/spanner/OrderedCode.java | 764 ++++ .../sdk/io/gcp/spanner/ReadSpannerSchema.java | 94 + .../sdk/io/gcp/spanner/SerializedMutation.java | 35 + .../io/gcp/spanner/SerializedMutationCoder.java | 60 + .../sdk/io/gcp/spanner/SpannerAccessor.java | 43 + .../beam/sdk/io/gcp/spanner/SpannerConfig.java | 41 +- .../beam/sdk/io/gcp/spanner/SpannerIO.java | 384 +- .../beam/sdk/io/gcp/spanner/SpannerSchema.java | 144 + .../sdk/io/gcp/spanner/SpannerWriteGroupFn.java | 125 - .../beam/sdk/io/gcp/GcpApiSurfaceTest.java | 2 + .../sdk/io/gcp/bigquery/BigQueryIOTest.java | 811 ++-- .../bigquery/BigQueryTableRowIteratorTest.java | 358 -- .../sdk/io/gcp/bigquery/BigQueryUtilTest.java | 187 - .../io/gcp/bigquery/FakeBigQueryServices.java | 78 - .../sdk/io/gcp/bigquery/FakeDatasetService.java | 21 +- .../sdk/io/gcp/bigquery/FakeJobService.java | 46 +- .../sdk/io/gcp/bigquery/TableContainer.java | 2 + .../sdk/io/gcp/bigtable/BigtableIOTest.java | 30 +- .../sdk/io/gcp/datastore/DatastoreV1Test.java | 167 +- .../sdk/io/gcp/datastore/SplitQueryFnIT.java | 5 +- .../beam/sdk/io/gcp/pubsub/PubsubIOTest.java | 55 + .../gcp/spanner/MutationGroupEncoderTest.java | 636 ++++ .../sdk/io/gcp/spanner/OrderedCodeTest.java | 890 +++++ .../io/gcp/spanner/ReadSpannerSchemaTest.java | 134 + .../sdk/io/gcp/spanner/SpannerIOReadTest.java | 69 - .../sdk/io/gcp/spanner/SpannerIOWriteTest.java | 453 ++- .../sdk/io/gcp/spanner/SpannerSchemaTest.java | 61 + .../beam/sdk/io/gcp/spanner/SpannerWriteIT.java | 5 +- sdks/java/io/hadoop-common/pom.xml | 2 +- sdks/java/io/hadoop-file-system/pom.xml | 2 +- .../beam/sdk/io/hdfs/HadoopFileSystem.java | 20 +- .../beam/sdk/io/hdfs/HadoopFileSystemTest.java | 66 +- sdks/java/io/hadoop/input-format/pom.xml | 7 +- .../hadoop/inputformat/HadoopInputFormatIO.java | 48 +- .../inputformat/HadoopInputFormatIOTest.java | 14 +- sdks/java/io/hadoop/jdk1.8-tests/pom.xml | 2 +- sdks/java/io/hadoop/pom.xml | 2 +- sdks/java/io/hbase/pom.xml | 2 +- .../io/hbase/HBaseCoderProviderRegistrar.java | 8 +- .../org/apache/beam/sdk/io/hbase/HBaseIO.java | 1001 ++--- .../beam/sdk/io/hbase/HBaseMutationCoder.java | 27 +- .../beam/sdk/io/hbase/HBaseResultCoder.java | 6 +- .../beam/sdk/io/hbase/SerializableScan.java | 37 +- .../hbase/HBaseCoderProviderRegistrarTest.java | 4 +- .../apache/beam/sdk/io/hbase/HBaseIOTest.java | 754 ++-- .../sdk/io/hbase/HBaseMutationCoderTest.java | 4 +- .../beam/sdk/io/hbase/HBaseResultCoderTest.java | 4 +- .../beam/sdk/io/hbase/SerializableScanTest.java | 6 +- sdks/java/io/hcatalog/pom.xml | 2 +- .../apache/beam/sdk/io/hcatalog/HCatalogIO.java | 23 +- .../beam/sdk/io/hcatalog/HCatalogIOTest.java | 24 +- sdks/java/io/jdbc/pom.xml | 2 +- .../org/apache/beam/sdk/io/jdbc/JdbcIO.java | 313 +- .../org/apache/beam/sdk/io/jdbc/JdbcIOTest.java | 6 - sdks/java/io/jms/pom.xml | 2 +- .../java/org/apache/beam/sdk/io/jms/JmsIO.java | 71 +- sdks/java/io/kafka/README.md | 36 + sdks/java/io/kafka/pom.xml | 19 +- .../org/apache/beam/sdk/io/kafka/KafkaIO.java | 790 +++- .../apache/beam/sdk/io/kafka/ProducerSpEL.java | 135 + .../apache/beam/sdk/io/kafka/KafkaIOTest.java | 233 +- sdks/java/io/kinesis/pom.xml | 8 +- .../beam/sdk/io/kinesis/AWSClientsProvider.java | 36 + .../sdk/io/kinesis/GetKinesisRecordsResult.java | 8 +- .../sdk/io/kinesis/KinesisClientProvider.java | 33 - .../apache/beam/sdk/io/kinesis/KinesisIO.java | 125 +- .../beam/sdk/io/kinesis/KinesisReader.java | 146 +- .../sdk/io/kinesis/KinesisReaderCheckpoint.java | 18 - .../beam/sdk/io/kinesis/KinesisSource.java | 40 +- .../apache/beam/sdk/io/kinesis/RoundRobin.java | 54 - .../beam/sdk/io/kinesis/ShardCheckpoint.java | 8 +- .../beam/sdk/io/kinesis/ShardReadersPool.java | 162 + .../sdk/io/kinesis/ShardRecordsIterator.java | 88 +- .../sdk/io/kinesis/SimplifiedKinesisClient.java | 98 +- .../io/kinesis/TransientKinesisException.java | 4 +- .../beam/sdk/io/kinesis/AmazonKinesisMock.java | 19 +- .../sdk/io/kinesis/KinesisMockReadTest.java | 5 +- .../beam/sdk/io/kinesis/KinesisReaderIT.java | 5 +- .../beam/sdk/io/kinesis/KinesisReaderTest.java | 152 +- .../beam/sdk/io/kinesis/RoundRobinTest.java | 59 - .../sdk/io/kinesis/ShardReadersPoolTest.java | 185 + .../io/kinesis/ShardRecordsIteratorTest.java | 35 +- .../io/kinesis/SimplifiedKinesisClientTest.java | 107 + sdks/java/io/mongodb/pom.xml | 2 +- .../beam/sdk/io/mongodb/MongoDbGridFSIO.java | 4 - .../apache/beam/sdk/io/mongodb/MongoDbIO.java | 62 +- .../sdk/io/mongodb/MongoDBGridFSIOTest.java | 2 +- .../beam/sdk/io/mongodb/MongoDbIOTest.java | 11 + sdks/java/io/mqtt/pom.xml | 2 +- .../org/apache/beam/sdk/io/mqtt/MqttIO.java | 49 +- sdks/java/io/pom.xml | 12 +- sdks/java/io/redis/pom.xml | 90 + .../io/redis/RedisConnectionConfiguration.java | 122 + .../org/apache/beam/sdk/io/redis/RedisIO.java | 451 +++ .../apache/beam/sdk/io/redis/package-info.java | 22 + .../apache/beam/sdk/io/redis/RedisIOTest.java | 109 + sdks/java/io/solr/pom.xml | 145 + .../beam/sdk/io/solr/AuthorizedSolrClient.java | 91 + .../beam/sdk/io/solr/JavaBinCodecCoder.java | 98 + .../org/apache/beam/sdk/io/solr/SolrIO.java | 705 ++++ .../apache/beam/sdk/io/solr/package-info.java | 20 + .../beam/sdk/io/solr/JavaBinCodecCoderTest.java | 81 + .../org/apache/beam/sdk/io/solr/SolrIOTest.java | 269 ++ .../beam/sdk/io/solr/SolrIOTestUtils.java | 132 + .../resources/cloud-minimal/conf/schema.xml | 29 + .../resources/cloud-minimal/conf/solrconfig.xml | 48 + sdks/java/io/tika/pom.xml | 113 + .../apache/beam/sdk/io/tika/ParseResult.java | 144 + .../org/apache/beam/sdk/io/tika/TikaIO.java | 284 ++ .../apache/beam/sdk/io/tika/package-info.java | 22 + .../beam/sdk/io/tika/ParseResultTest.java | 83 + .../org/apache/beam/sdk/io/tika/TikaIOTest.java | 149 + .../java/io/tika/src/test/resources/damaged.pdf | 2 + .../resources/valid/apache-beam-tika-pdf.zip | Bin 0 -> 11685 bytes .../test/resources/valid/apache-beam-tika.odt | Bin 0 -> 12540 bytes sdks/java/io/xml/pom.xml | 2 +- .../java/org/apache/beam/sdk/io/xml/XmlIO.java | 375 +- .../org/apache/beam/sdk/io/xml/XmlSink.java | 10 - .../org/apache/beam/sdk/io/xml/XmlSource.java | 63 +- .../org/apache/beam/sdk/io/xml/XmlSinkTest.java | 12 +- .../apache/beam/sdk/io/xml/XmlSourceTest.java | 74 +- sdks/java/java8tests/pom.xml | 2 +- sdks/java/javadoc/ant.xml | 1 + sdks/java/javadoc/pom.xml | 22 +- .../maven-archetypes/examples-java8/pom.xml | 2 +- .../main/resources/archetype-resources/pom.xml | 13 + sdks/java/maven-archetypes/examples/pom.xml | 2 +- sdks/java/maven-archetypes/pom.xml | 2 +- sdks/java/maven-archetypes/starter/pom.xml | 2 +- sdks/java/nexmark/README.md | 340 ++ sdks/java/nexmark/pom.xml | 265 ++ .../java/org/apache/beam/sdk/nexmark/Main.java | 303 ++ .../org/apache/beam/sdk/nexmark/Monitor.java | 78 + .../beam/sdk/nexmark/NexmarkConfiguration.java | 721 ++++ .../beam/sdk/nexmark/NexmarkLauncher.java | 1157 ++++++ .../apache/beam/sdk/nexmark/NexmarkOptions.java | 403 ++ .../apache/beam/sdk/nexmark/NexmarkPerf.java | 207 ++ .../apache/beam/sdk/nexmark/NexmarkSuite.java | 112 + .../apache/beam/sdk/nexmark/NexmarkUtils.java | 674 ++++ .../apache/beam/sdk/nexmark/model/Auction.java | 187 + .../beam/sdk/nexmark/model/AuctionBid.java | 85 + .../beam/sdk/nexmark/model/AuctionCount.java | 84 + .../beam/sdk/nexmark/model/AuctionPrice.java | 88 + .../org/apache/beam/sdk/nexmark/model/Bid.java | 177 + .../beam/sdk/nexmark/model/BidsPerSession.java | 87 + .../beam/sdk/nexmark/model/CategoryPrice.java | 97 + .../org/apache/beam/sdk/nexmark/model/Done.java | 80 + .../apache/beam/sdk/nexmark/model/Event.java | 171 + .../beam/sdk/nexmark/model/IdNameReserve.java | 98 + .../beam/sdk/nexmark/model/KnownSize.java | 26 + .../beam/sdk/nexmark/model/NameCityStateId.java | 103 + .../apache/beam/sdk/nexmark/model/Person.java | 163 + .../beam/sdk/nexmark/model/SellerPrice.java | 89 + .../beam/sdk/nexmark/model/package-info.java | 22 + .../apache/beam/sdk/nexmark/package-info.java | 21 + .../sdk/nexmark/queries/AbstractSimulator.java | 211 ++ .../beam/sdk/nexmark/queries/NexmarkQuery.java | 270 ++ .../sdk/nexmark/queries/NexmarkQueryModel.java | 117 + .../apache/beam/sdk/nexmark/queries/Query0.java | 70 + .../beam/sdk/nexmark/queries/Query0Model.java | 64 + .../apache/beam/sdk/nexmark/queries/Query1.java | 67 + .../beam/sdk/nexmark/queries/Query10.java | 367 ++ .../beam/sdk/nexmark/queries/Query11.java | 79 + .../beam/sdk/nexmark/queries/Query12.java | 80 + .../beam/sdk/nexmark/queries/Query1Model.java | 76 + .../apache/beam/sdk/nexmark/queries/Query2.java | 79 + .../beam/sdk/nexmark/queries/Query2Model.java | 80 + .../apache/beam/sdk/nexmark/queries/Query3.java | 301 ++ .../beam/sdk/nexmark/queries/Query3Model.java | 124 + .../apache/beam/sdk/nexmark/queries/Query4.java | 116 + .../beam/sdk/nexmark/queries/Query4Model.java | 186 + .../apache/beam/sdk/nexmark/queries/Query5.java | 138 + .../beam/sdk/nexmark/queries/Query5Model.java | 176 + .../apache/beam/sdk/nexmark/queries/Query6.java | 155 + .../beam/sdk/nexmark/queries/Query6Model.java | 133 + .../apache/beam/sdk/nexmark/queries/Query7.java | 90 + .../beam/sdk/nexmark/queries/Query7Model.java | 130 + .../apache/beam/sdk/nexmark/queries/Query8.java | 98 + .../beam/sdk/nexmark/queries/Query8Model.java | 148 + .../apache/beam/sdk/nexmark/queries/Query9.java | 44 + .../beam/sdk/nexmark/queries/Query9Model.java | 44 + .../beam/sdk/nexmark/queries/WinningBids.java | 418 +++ .../nexmark/queries/WinningBidsSimulator.java | 206 ++ .../beam/sdk/nexmark/queries/package-info.java | 22 + .../sdk/nexmark/sources/BoundedEventSource.java | 190 + .../beam/sdk/nexmark/sources/Generator.java | 609 +++ .../sdk/nexmark/sources/GeneratorConfig.java | 298 ++ .../nexmark/sources/UnboundedEventSource.java | 329 ++ .../beam/sdk/nexmark/sources/package-info.java | 22 + .../nexmark/src/main/resources/log4j.properties | 55 + .../beam/sdk/nexmark/queries/QueryTest.java | 185 + .../nexmark/sources/BoundedEventSourceTest.java | 70 + .../beam/sdk/nexmark/sources/GeneratorTest.java | 110 + .../sources/UnboundedEventSourceTest.java | 105 + sdks/java/pom.xml | 5 +- sdks/pom.xml | 4 +- sdks/python/apache_beam/__init__.py | 47 +- sdks/python/apache_beam/coders/coder_impl.py | 22 +- sdks/python/apache_beam/coders/coders.py | 118 +- sdks/python/apache_beam/coders/coders_test.py | 2 +- .../apache_beam/coders/coders_test_common.py | 17 +- .../apache_beam/coders/observable_test.py | 1 - .../coders/proto2_coder_test_messages_pb2.py | 6 +- .../apache_beam/coders/standard_coders_test.py | 11 +- sdks/python/apache_beam/coders/stream_test.py | 1 - sdks/python/apache_beam/coders/typecoders.py | 1 - .../examples/complete/autocomplete.py | 6 +- .../examples/complete/autocomplete_test.py | 2 +- .../examples/complete/estimate_pi.py | 5 +- .../examples/complete/estimate_pi_test.py | 2 +- .../examples/complete/game/game_stats.py | 393 ++ .../examples/complete/game/game_stats_test.py | 81 + .../examples/complete/game/hourly_team_score.py | 247 +- .../examples/complete/game/leader_board.py | 349 ++ .../examples/complete/game/leader_board_test.py | 69 + .../examples/complete/game/user_score.py | 186 +- .../complete/juliaset/juliaset/juliaset.py | 8 +- .../complete/juliaset/juliaset/juliaset_test.py | 1 - .../examples/complete/juliaset/juliaset_main.py | 2 - .../examples/complete/juliaset/setup.py | 7 +- .../apache_beam/examples/complete/tfidf.py | 17 +- .../apache_beam/examples/complete/tfidf_test.py | 7 +- .../examples/complete/top_wikipedia_sessions.py | 5 +- .../complete/top_wikipedia_sessions_test.py | 1 - .../examples/cookbook/bigquery_side_input.py | 5 +- .../examples/cookbook/bigquery_tornadoes.py | 2 +- .../cookbook/bigquery_tornadoes_it_test.py | 2 +- .../examples/cookbook/custom_ptransform.py | 2 +- .../examples/cookbook/datastore_wordcount.py | 39 +- .../examples/cookbook/group_with_coder.py | 6 +- .../examples/cookbook/group_with_coder_test.py | 1 - .../examples/cookbook/mergecontacts.py | 36 +- .../examples/cookbook/multiple_output_pardo.py | 14 +- .../apache_beam/examples/snippets/snippets.py | 82 +- .../examples/snippets/snippets_test.py | 70 +- .../apache_beam/examples/streaming_wordcount.py | 9 +- .../apache_beam/examples/windowed_wordcount.py | 7 +- sdks/python/apache_beam/examples/wordcount.py | 12 +- .../apache_beam/examples/wordcount_debugging.py | 12 +- .../apache_beam/examples/wordcount_fnapi.py | 151 + .../apache_beam/examples/wordcount_it_test.py | 16 + .../apache_beam/examples/wordcount_minimal.py | 6 +- sdks/python/apache_beam/internal/gcp/auth.py | 1 - .../apache_beam/internal/gcp/json_value.py | 46 +- .../apache_beam/internal/gcp/json_value_test.py | 3 +- sdks/python/apache_beam/internal/pickler.py | 2 +- sdks/python/apache_beam/internal/util.py | 6 +- sdks/python/apache_beam/io/avroio.py | 164 +- sdks/python/apache_beam/io/avroio_test.py | 54 +- .../python/apache_beam/io/concat_source_test.py | 1 - sdks/python/apache_beam/io/filebasedsink.py | 22 +- .../python/apache_beam/io/filebasedsink_test.py | 3 +- sdks/python/apache_beam/io/filebasedsource.py | 234 +- .../apache_beam/io/filebasedsource_test.py | 8 +- sdks/python/apache_beam/io/filesystem.py | 31 +- sdks/python/apache_beam/io/filesystem_test.py | 5 +- sdks/python/apache_beam/io/filesystems.py | 1 - sdks/python/apache_beam/io/filesystems_test.py | 4 +- sdks/python/apache_beam/io/gcp/bigquery.py | 264 +- sdks/python/apache_beam/io/gcp/bigquery_test.py | 4 +- .../io/gcp/datastore/v1/adaptive_throttler.py | 94 + .../gcp/datastore/v1/adaptive_throttler_test.py | 95 + .../io/gcp/datastore/v1/datastoreio.py | 55 +- .../io/gcp/datastore/v1/datastoreio_test.py | 11 +- .../apache_beam/io/gcp/datastore/v1/helper.py | 31 +- .../io/gcp/datastore/v1/helper_test.py | 7 +- .../apache_beam/io/gcp/gcsfilesystem_test.py | 1 + sdks/python/apache_beam/io/gcp/gcsio.py | 17 +- .../clients/bigquery/bigquery_v2_messages.py | 3 - .../clients/storage/storage_v1_messages.py | 3 - sdks/python/apache_beam/io/gcp/pubsub.py | 5 +- sdks/python/apache_beam/io/gcp/pubsub_test.py | 5 +- .../io/gcp/tests/bigquery_matcher_test.py | 3 +- sdks/python/apache_beam/io/gcp/tests/utils.py | 8 +- .../apache_beam/io/gcp/tests/utils_test.py | 70 +- sdks/python/apache_beam/io/iobase.py | 83 +- .../apache_beam/io/localfilesystem_test.py | 4 +- sdks/python/apache_beam/io/range_trackers.py | 54 +- .../apache_beam/io/range_trackers_test.py | 37 + sdks/python/apache_beam/io/source_test_utils.py | 92 +- .../apache_beam/io/source_test_utils_test.py | 2 +- sdks/python/apache_beam/io/sources_test.py | 1 - sdks/python/apache_beam/io/textio.py | 178 +- sdks/python/apache_beam/io/textio_test.py | 109 +- sdks/python/apache_beam/io/tfrecordio.py | 5 +- sdks/python/apache_beam/io/tfrecordio_test.py | 8 +- sdks/python/apache_beam/metrics/cells_test.py | 2 +- sdks/python/apache_beam/metrics/execution.py | 5 +- .../apache_beam/metrics/execution_test.py | 8 +- sdks/python/apache_beam/metrics/metric.py | 3 +- sdks/python/apache_beam/metrics/metric_test.py | 18 +- sdks/python/apache_beam/metrics/metricbase.py | 4 + .../apache_beam/options/pipeline_options.py | 32 +- .../options/pipeline_options_test.py | 7 +- .../options/pipeline_options_validator_test.py | 3 +- .../apache_beam/options/value_provider.py | 1 - sdks/python/apache_beam/pipeline.py | 136 +- sdks/python/apache_beam/pipeline_test.py | 92 +- sdks/python/apache_beam/pvalue.py | 111 +- sdks/python/apache_beam/pvalue_test.py | 8 + sdks/python/apache_beam/runners/common.py | 6 +- sdks/python/apache_beam/runners/common_test.py | 2 +- .../runners/dataflow/dataflow_metrics.py | 2 +- .../runners/dataflow/dataflow_runner.py | 122 +- .../runners/dataflow/dataflow_runner_test.py | 89 +- .../runners/dataflow/internal/apiclient.py | 106 +- .../runners/dataflow/internal/apiclient_test.py | 112 +- .../clients/dataflow/dataflow_v1b3_client.py | 259 +- .../clients/dataflow/dataflow_v1b3_messages.py | 92 +- .../clients/dataflow/message_matchers.py | 1 - .../clients/dataflow/message_matchers_test.py | 3 +- .../runners/dataflow/internal/dependency.py | 58 +- .../dataflow/internal/dependency_test.py | 10 +- .../runners/dataflow/internal/names.py | 2 + .../runners/dataflow/native_io/iobase_test.py | 22 +- .../dataflow/native_io/streaming_create.py | 2 +- .../runners/dataflow/template_runner_test.py | 5 +- .../runners/dataflow/test_dataflow_runner.py | 5 +- .../consumer_tracking_pipeline_visitor_test.py | 2 +- .../runners/direct/direct_metrics.py | 2 +- .../runners/direct/direct_metrics_test.py | 8 +- .../apache_beam/runners/direct/direct_runner.py | 19 +- .../runners/direct/direct_runner_test.py | 41 + .../runners/direct/evaluation_context.py | 31 +- .../apache_beam/runners/direct/executor.py | 127 +- .../runners/direct/helper_transforms.py | 2 +- .../runners/direct/transform_evaluator.py | 67 +- sdks/python/apache_beam/runners/direct/util.py | 7 +- .../runners/experimental/__init__.py | 16 + .../experimental/python_rpc_direct/__init__.py | 22 + .../python_rpc_direct_runner.py | 110 + .../experimental/python_rpc_direct/server.py | 111 + sdks/python/apache_beam/runners/job/__init__.py | 16 + sdks/python/apache_beam/runners/job/manager.py | 52 + sdks/python/apache_beam/runners/job/utils.py | 32 + .../apache_beam/runners/pipeline_context.py | 2 +- .../runners/portability/fn_api_runner.py | 393 +- .../runners/portability/fn_api_runner_test.py | 115 +- .../portability/maptask_executor_runner.py | 19 +- .../portability/maptask_executor_runner_test.py | 12 +- .../portability/universal_local_runner.py | 409 ++ .../portability/universal_local_runner_main.py | 44 + .../portability/universal_local_runner_test.py | 85 + sdks/python/apache_beam/runners/runner.py | 61 +- sdks/python/apache_beam/runners/runner_test.py | 2 +- .../runners/worker/bundle_processor.py | 235 +- .../apache_beam/runners/worker/data_plane.py | 35 +- .../runners/worker/data_plane_test.py | 7 +- .../apache_beam/runners/worker/log_handler.py | 17 +- .../runners/worker/log_handler_test.py | 20 +- .../apache_beam/runners/worker/opcounters.py | 10 +- .../runners/worker/opcounters_test.py | 1 - .../apache_beam/runners/worker/operations.pxd | 4 +- .../apache_beam/runners/worker/operations.py | 84 +- .../apache_beam/runners/worker/sdk_worker.py | 206 +- .../runners/worker/sdk_worker_main.py | 30 +- .../runners/worker/sdk_worker_test.py | 11 +- .../apache_beam/runners/worker/statesampler.pyx | 68 +- .../runners/worker/statesampler_fake.py | 17 +- .../runners/worker/statesampler_test.py | 5 +- .../apache_beam/testing/pipeline_verifiers.py | 1 - .../testing/pipeline_verifiers_test.py | 5 +- .../python/apache_beam/testing/test_pipeline.py | 54 +- .../apache_beam/testing/test_pipeline_test.py | 4 +- sdks/python/apache_beam/testing/test_stream.py | 1 - .../apache_beam/testing/test_stream_test.py | 3 +- sdks/python/apache_beam/testing/test_utils.py | 23 +- .../apache_beam/testing/test_utils_test.py | 62 + sdks/python/apache_beam/testing/util.py | 5 +- sdks/python/apache_beam/testing/util_test.py | 4 +- sdks/python/apache_beam/transforms/combiners.py | 9 +- .../apache_beam/transforms/combiners_test.py | 5 +- sdks/python/apache_beam/transforms/core.py | 397 +- .../apache_beam/transforms/create_test.py | 6 +- sdks/python/apache_beam/transforms/display.py | 91 +- .../apache_beam/transforms/display_test.py | 6 +- .../python/apache_beam/transforms/ptransform.py | 147 +- .../apache_beam/transforms/ptransform_test.py | 78 +- .../apache_beam/transforms/sideinputs_test.py | 5 +- sdks/python/apache_beam/transforms/timeutil.py | 1 - sdks/python/apache_beam/transforms/trigger.py | 32 +- .../apache_beam/transforms/trigger_test.py | 19 +- sdks/python/apache_beam/transforms/util.py | 273 +- sdks/python/apache_beam/transforms/util_test.py | 108 + sdks/python/apache_beam/transforms/window.py | 9 +- .../apache_beam/transforms/window_test.py | 17 +- .../transforms/write_ptransform_test.py | 4 +- sdks/python/apache_beam/typehints/decorators.py | 129 +- .../typehints/native_type_compatibility.py | 166 + .../typehints/native_type_compatibility_test.py | 92 + sdks/python/apache_beam/typehints/opcodes.py | 19 +- .../apache_beam/typehints/trivial_inference.py | 80 +- .../typehints/trivial_inference_test.py | 9 +- sdks/python/apache_beam/typehints/typecheck.py | 6 +- .../typehints/typed_pipeline_test.py | 33 +- sdks/python/apache_beam/typehints/typehints.py | 79 +- .../apache_beam/typehints/typehints_test.py | 3 +- .../apache_beam/utils/annotations_test.py | 1 + sdks/python/apache_beam/utils/counters.py | 107 +- sdks/python/apache_beam/utils/counters_test.py | 78 + sdks/python/apache_beam/utils/processes_test.py | 1 - sdks/python/apache_beam/utils/proto_utils.py | 11 + sdks/python/apache_beam/utils/retry.py | 9 +- sdks/python/apache_beam/utils/retry_test.py | 5 +- sdks/python/apache_beam/utils/urns.py | 22 +- sdks/python/apache_beam/version.py | 2 +- sdks/python/container/Dockerfile | 27 + sdks/python/container/boot.go | 123 + sdks/python/container/pom.xml | 154 + sdks/python/gen_protos.py | 30 +- sdks/python/generate_pydoc.sh | 134 +- sdks/python/pom.xml | 9 +- sdks/python/run_postcommit.sh | 20 - sdks/python/run_pylint.sh | 45 +- sdks/python/run_validatesrunner.sh | 71 + sdks/python/setup.py | 10 +- sdks/python/tox.ini | 21 +- 1246 files changed, 92588 insertions(+), 17745 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/beam/blob/7181d0c3/pom.xml ---------------------------------------------------------------------- diff --cc pom.xml index ae86a9c,0b7b323..5f997a3 --- a/pom.xml +++ b/pom.xml @@@ -183,9 -196,10 +196,10 @@@ <!-- sdks/java/build-tools has project-wide configuration. To make these available in all modules, link it directly to the parent pom.xml. --> <module>sdks/java/build-tools</module> + <module>model</module> <module>sdks</module> <module>runners</module> - <module>examples</module> + <!--<module>examples</module>--> <!-- sdks/java/javadoc builds project-wide Javadoc. It has to run last. --> <module>sdks/java/javadoc</module> </modules> http://git-wip-us.apache.org/repos/asf/beam/blob/7181d0c3/runners/core-java/src/main/java/org/apache/beam/runners/core/InMemoryTimerInternals.java ---------------------------------------------------------------------- diff --cc runners/core-java/src/main/java/org/apache/beam/runners/core/InMemoryTimerInternals.java index c1d42d6,c7b4ac6..719f75f --- a/runners/core-java/src/main/java/org/apache/beam/runners/core/InMemoryTimerInternals.java +++ b/runners/core-java/src/main/java/org/apache/beam/runners/core/InMemoryTimerInternals.java @@@ -23,9 -23,9 +23,10 @@@ import static com.google.common.base.Pr import com.google.common.base.MoreObjects; import com.google.common.collect.HashBasedTable; +import com.google.common.collect.ImmutableList; import com.google.common.collect.Table; import java.util.NavigableSet; + import java.util.NoSuchElementException; import java.util.TreeSet; import javax.annotation.Nullable; import org.apache.beam.sdk.state.TimeDomain; http://git-wip-us.apache.org/repos/asf/beam/blob/7181d0c3/runners/pom.xml ---------------------------------------------------------------------- diff --cc runners/pom.xml index 39a9811,47f3c0e..aed0c10 --- a/runners/pom.xml +++ b/runners/pom.xml @@@ -35,7 -35,9 +35,10 @@@ <modules> <module>core-construction-java</module> <module>core-java</module> + <module>java-fn-execution</module> + <module>local-artifact-service-java</module> + <module>reference</module> + <module>map-reduce</module> <module>direct-java</module> <module>flink</module> <module>google-cloud-dataflow-java</module> http://git-wip-us.apache.org/repos/asf/beam/blob/7181d0c3/sdks/java/pom.xml ---------------------------------------------------------------------- diff --cc sdks/java/pom.xml index 75b2043,c6ab234..77a7de4 --- a/sdks/java/pom.xml +++ b/sdks/java/pom.xml @@@ -37,10 -37,10 +37,11 @@@ and other project configuration to be used in all modules. <module>build-tools</module> --> <module>core</module> - <module>io</module> + <!--module>io</module--> + <module>io/hadoop-file-system</module> <module>maven-archetypes</module> <module>extensions</module> + <module>fn-execution</module> <!-- javadoc runs directly from the root parent as the last module in the build to be able to capture runner-specific javadoc. <module>javadoc</module> --> http://git-wip-us.apache.org/repos/asf/beam/blob/7181d0c3/sdks/pom.xml ---------------------------------------------------------------------- diff --cc sdks/pom.xml index c06f764,7c85489..f0afdad --- a/sdks/pom.xml +++ b/sdks/pom.xml @@@ -33,9 -33,9 +33,9 @@@ <name>Apache Beam :: SDKs</name> <modules> - <module>common</module> + <module>go</module> <module>java</module> - <module>python</module> + <!--<module>python</module>--> </modules> <profiles>
