You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@beam.apache.org by pa...@apache.org on 2020/06/22 19:48:24 UTC

[beam] branch pabloem-patch-1 updated (bf573ae -> 09b076d)

This is an automated email from the ASF dual-hosted git repository.

pabloem pushed a change to branch pabloem-patch-1
in repository https://gitbox.apache.org/repos/asf/beam.git.


 discard bf573ae  Removing test for no-longer true condition.
 discard 71a964f  [BEAM-1438] Allow 0 shards on WriteFiles streaming
     add 47ea112  [BEAM-9679] Flatten Kata for Go (#11806)
     add 018e889  [BEAM-9220] Go Dataflow jobs to use runner v2 (#11207)
     add a5e642a  [BEAM-9935] Respect allowed split points and fraction in Go.
     add e57c144  Merge pull request #11791: [BEAM-9935] Respect allowed split points and fraction in Go.
     add 775ad8e  [BEAM-8280] Blog post: Python typing changes (#11070)
     add d172594  Enables proto holders for testing runner API. Without this x-lang can be broken for some execution paths where this property get enabled automatically.
     add 74962ce  Merge pull request #11844 [BEAM-8019] Enables proto holders when 'test_runner_api' is True.
     add d68f7f2  Update multi-language roadmap status.
     add e7abbdb  Update website/www/site/content/en/roadmap/connectors-multi-sdk.md
     add 1e7d194  Merge pull request #11853 Update multi-language roadmap status.
     add d71ee35  [BEAM-9916] Fixed some IO Urls on website
     add 0addd1f  Merge pull request #11848: [BEAM-9916] Fixed some IO Urls on website
     add 7978c0f  [BEAM-10078] uniquify Dataflow specific jars when staging (#11814)
     add fc941a0  [BEAM-10107] Remove outdated instructions for website updates in rele… (#11852)
     add 0e74474  remove as_cloud_object override
     add b09e38e  Merge pull request #11839 [BEAM-10122] Python RowCoder throws NotImplementedError in DataflowRunner
     add b843bfc  [BEAM-9964] Move workerCacheMb to a user-visible place
     add 8420eee  Merge pull request #11849 from [BEAM-9964] Move workerCacheMb to a user-visible place
     add 193e54c  [BEAM-9679] Add a CoGroupByKey lesson to the Core Transforms section (#11803)
     add 1bcb551  [BEAM-10110] Propagate ids for custom coders. (#11832)
     add 9e5dd68  [BEAM-10125] adding cross-language KafkaIO integration test
     add 858fe4e  Merge pull request #11847: [BEAM-10125] adding cross-language KafkaIO integration test
     add 12878fc  [BEAM-10121] Python RowCoder doesn't support nested structs (#11841)
     add d87fc52  [BEAM-7746] Fix type errors and enable checks for apache_beam.dataframe.* (#11632)
     add 21848c6  Moves apply_WriteToBigQuery to override
     add b365680  Skip test if py=3.8 see BEAM-9754
     add dba5f2b  Merge pull request #11594 from [BEAM-9692] Replace apply_WriteToBigQuery with PTransformOverride
     add a0297da  Update programming-guide.md
     add 1bd1508  Merge pull request #11871: [website] Fix programming guide typo
     add 6dc08a4  [BEAM-8608] Chain DoFns in Flink batch runner when possible.
     add 3689296  [BEAM-8608] Code review. Fix checkstyle.
     add 1a8c563  Merge pull request #11858: [BEAM-8608] Chain DoFns in Flink batch runner when possible.
     add 1b14085  [BEAM-9421] Better documentation of output results from AnnotateText transform (#11776)
     add e9837fe  [BEAM-9421] Website section that describes getting predictions using AI Platform Prediciton (#11075)
     add a1031c8  [BEAM-10162, BEAM-10163] Change PubSubIO and BigQueryIO job names; update README.md
     add 194f981  [BEAM-10051] Scope instruction data.  (#11864)
     add e0217d1  [BEAM-9679] Add Combine/Simple Function to Core Transforms (#11866)
     add 280e243  Updates CHANGES.md to include new I/Os for Beam 2.22.0. (#11879)
     add 6598f10  Update programming-guide.md
     add 2163ff8  Merge pull request #11872: Fix Programming guide typo
     add 05df703  [BEAM-10154] Remove stray version number.
     add 3ebc397  Merge pull request #11865 from ibzib/BEAM-10154
     add 89fc35b  [BEAM-10158] Use a shared unbounded thread pool within Beam Python. (#11867)
     add 01c11e7  [BEAM-9825] | Implement Intersect,Union,Except transforms (#11610)
     add b6ca2ab  [BEAM-9723] Add DLP integration transforms (#11566)
     add 0c45136  [BEAM-8850,BEAM-8849] FlinkBatchTranslationContext respects input parameters during lookups. Add support for a multiple translation variants for a single urn.
     add 3c4536d  [BEAM-8848] Flink Batch Runner: optimize GBK translation for non-merging windows.
     add 23a1fb7  [BEAM-8848] Code review.
     add ccc2fa4  Merge pull request #11874: Flink Batch Runner: optimize GBK translation for non-merging windows.
     add 006b8ce  [BEAM-10171] Add Kinesis, Spanner, Jdbc IOs to the portability roadmap
     add fcb40cf  Merge pull request #11887: [BEAM-10171] Add Kinesis, Spanner, Jdbc IOs to the portability roadmap website
     add 12a3f1b  Update Jira priorities to the new Beam custom priority scheme
     add 9c16b89  Merge pull request #11890 from kennknowles/jira-priorities
     add 4de95bb  [BEAM-4766] Migrate to use vendored protobuf for bytestring (#11891)
     add efa8337  [BEAM-10027] Support for Kotlin-based Beam Katas (#11761)
     add de1c8a8  [BEAM-10173] Upgrade zstd-jni to version 1.4.5-2
     add b9fa0e1  Merge pull request #11888: [BEAM-10173] Upgrade zstd-jni to version 1.4.5-2
     add 10f6473  [BEAM-10179] Clean-up URNJavaDoFn workaround in Go SDK. (#11899)
     add b772b8c  [BEAM-10167] Fix 2.21.0 downloads link in blog post
     add 767c0a9  Merge pull request #11880 from ibzib/BEAM-10167
     add ee5e501  Remove release note cleanup task
     add 516a435  Merge pull request #11897 from TheNeuralBit/beam-10177
     add cceba01  [BEAM-10063] Create a WontImplementError for skipping features. (#11785)
     add 071b0fa  Remove conditional grpc imports. (#11878)
     add d8b9d27  [BEAM-10168] Add Github 'publish release' to release guide
     add f31ac46  Merge pull request #11902 from ibzib/BEAM-10168
     add 043cdfd  Add a GCThrashingPerPeriod option for MemoryMonitor (#11885)
     add 2d9e03c  [BEAM-9946] | added new api in Partition Transform (#11682)
     add 97776b5  Update fastavro_it_test.py
     add e98e9ed  Update wordcount_debugging.py
     add 1f39865  Update wordcount_minimal.py
     add ef81b28  fix spacing
     add cacbf05  add example region
     add bc15f7b  lint
     add 804dd5e  [BEAM-10055] Add --region to python examples where it was missing (#11779)
     add 434ba1b  New directory for Beam mascot assets
     add 307751f  Merge pull request #11780: [BEAM-9948] Add Beam mascot (Firefly) to the website
     add 90e3dcd  [BEAM-7774] Move duplicated code from py2 and py37 suites to common.gradle
     add cf93a28  [BEAM-7774] Remove Perfkit Benchmarking tool from python wordcount performance tests jobs
     add 56e853e  [BEAM-7774] Add python wordcount performance test grafana dashboard
     add 1993102  Merge pull request #11661: [BEAM-7774] Remove perfkit benchmarking tool
     add 1875e24  [BEAM-5863] Jenkins job to deploy Beam Metrics infrastructure automatically upon code changes (#11816)
     add 4cf2d01  [BEAM-10132] Update Docker images in Flink runner page.
     add 4bc2190  Merge pull request #11905: [BEAM-10132] Update Docker images in Flink runner page.
     add 7fca79b  Fix an issue with kubectl not being configured properly (#11906)
     add 5f70e6f  [BEAM-9948] Fix mascot invalid directory link
     add ce4749ee Merge pull request #11908: [BEAM-9948] Fix mascot invalid directory link
     add 85e1542  [BEAM-10164] Flink Batch Runner: Memory efficient combine implementation for non-merging windows.
     add f6ef903  Merge pull request #11889: [BEAM-10164] Flink Batch Runner: Memory efficient combine implementation
     add 7e575a7  [BEAM-9646] Add Google Cloud vision integration transform (#11331)
     add d26ad80  [BEAM-10096] Fix Spark runners numbering
     add de2f3e6  Merge pull request #11907 from aromanenko-dev/BEAM-10096-Spark-website
     add 9d967c9  Always use python3 for license script virtualenv (#11900)
     add 4029cfa  fix hub existence test (#11903)
     add ca81298  Merge pull request #11896 from [BEAM-8841] Make bigquery_avro_tools_test py3 compatible
     add 9ac6e33  [BEAM-10166] Context improvements for exec errors. (#11881)
     add aff2a05  [BEAM-10187] Push release candidate tag to Github.
     add 9aaf9ab  Merge pull request #11914 from ibzib/BEAM-10187
     add 8046377  [Beam 9879] support STRING_AGG function in Beam ZetaSQL (#11895)
     add 010666c  clean up some non-shadow stragglers (#11917)
     add fa0e94a  [BEAM-10054] Add test which demonstrates a pipeline stall
     add 6f02846  [BEAM-10054] Fix watermark hold for on_time_pane to prevent pipeline stall
     add 942115a  linting
     add 0c0302d  Merge pull request #11777: [BEAM-10054] Fix watermark hold for on_time_pane
     add 6eb8733  [BEAM-10017] Expose Cassandra Connect/Read timeouts
     add e2b6abe  [BEAM-10017] Minor fixes of javadoc and error messages
     add e1963c1  Merge pull request #11732: [BEAM-10017] Expose Cassandra Connect and Read timeouts
     add b12a38a  Merge pull request #11898 from [BEAM-10178] Improved error messages when option is not set
     add e3ba948  [BEAM-10063] Better emulate the pandas testing environment. (#11787)
     add a327aac  [BEAM-10190] Reduce cost of toString of MetricKey and MetricName (#11915)
     add d260466  [BEAM-8693] Remove workaround for bigquery client
     add 58fc816  Merge pull request #11836: [BEAM-8693] Remove workaround for bigquery client
     add 2b961e6  Merge pull request #11893 from [BEAM-10175] use bearer token header instead of url param for token
     add 4df16aa  [BEAM-10188] Add instructions to programmatically publish release to Github (#11918)
     add 7429059  Minor formatting updates.
     add 095589c  Merge pull request #11920 from lastomato/master - Minor formatting updates.
     add 7e8a9cd  [BEAM-10194] Call println() in Katas test failures.
     add b1aa4d1  Merge pull request #11921 from ibzib/BEAM-10194
     add 1594c5a  [BEAM-9679] Add CombineFn to Core Transforms (#11883)
     add a74374d  [BEAM-10036] More flexible dataframes partitioning. (#11766)
     add a7866b5  [BEAM-10116] Allow unknown non-merging windowing strategies in ULR.
     add 6eefa9c  Never trigger for Python.
     add edbe4ce  Add a hack to ensure the Never() trigger fires on window closing in batch mode.
     add ae36a5d  [BEAM-10118] Unconditionally use safe coders for data channels in FnAPI runner.
     add 3ac5dd7  Use trivial Flatten rather than identity DoFn for transcoding.
     add a07fac8  Fix GetState API to handle timestamps field.
     add 78ed270  Typing fix.
     add 53e025b  Various fixes to allow Java PAssert to run on Python (#11835)
     add 8cc0547  [BEAM-9615] Additional coder unit tests (#11926)
     add 005e190  Old Fastjson has a serious security problem
     add ddb8a16  Merge pull request #11758: Old Fastjson has a serious security problem
     add 1a82c1b  [BEAM-10205] @Ignore:BYTES can work with UNION ALL.
     add a8315b8  Merge pull request #11934 from amaliujia/rw-BEAM-10205
     add 029d439  Add documentation for python apache-beam[aws] installation
     add 5969413  Merge pull request #11805 from epicfaace/aws
     add fef8cfe  [BEAM-10112] Add state and timer python examples to website
     add d4ad5d4  Merge pull request #11882 from y1chi/BEAM-10112
     add 2e13367  [BEAM-9615] Add string coder utility functions. (#11925)
     add 25c199e  [BEAM-9615] finish standardizing proto import name (#11927)
     add e39632f  [BEAM-9869] adding self-contained Kafka service jar for testing
     add a560ed2  Merge pull request #11846: [BEAM-9869] adding self-contained Kafka service jar for testing
     add d58fb74  remove LP indicator (#11937)
     add 96836a7  [BEAM-2939] Fix FnApiDoFnRunner to ensure that we output within the correct window when processing a splittable dofn (#11922)
     add f59adee  [BEAM-10204] @Ignore: re-enable LIKE operator related unit tests. (#11933)
     add 46bac74  [BEAM-10145] Delete persistent disks after every KafkaIO performance test run
     add 42faa44  Merge pull request #11931 from [BEAM-10145] Delete persistent disks after every KafkaIO performance test run
     add c879e00  [BEAM-10066] Add support for ValueProviders in RedisConnectionConfiguration
     add f70dc1e  Merge pull request #11799: [BEAM-10066] Add support for ValueProviders in RedisConnectionConfiguration
     add 2c50c03  [BEAM-10024] Mark testOutputTimestampDefault with UsesUnboundedPCollections annotation.
     add c482288  Create bounded/unbounded variants of testOutputTimestampDefault.
     add b8ee750  Merge pull request #11739: [BEAM-10024] Mark testOutputTimestampDefault with UsesUnboundedPColle…
     add 7398fc0  Fix links for type hint changes in 2.21 blog post (#11947)
     add 653c517  [BEAM-10211] Upgrade Spark to version 2.4.6
     add 13575d3  Merge pull request #11945: [BEAM-10211] Upgrade Spark to version 2.4.6
     add fa714bf  Update Beam website to release 2.22.0 (#11904)
     add 8277688  Add blog post announcing the 2.22.0 release (#11910)
     add 312cbdf  Cleanup ToString transforms.
     add c0a96edc Merge pull request #11626 Cleanup ToString transforms.
     add e28593b  [BEAM-10213] @Ignore: fix the test for testCastToDateWithCase. (#11948)
     add 7a8d21f  [BEAM-9191] Add Jira Link to empty @Ignore.
     add 0a6e2f4  Merge pull request #11953 from amaliujia/rw-BEAM-9191
     add 93a167b  [BEAM-10215] @Ignore: Concat now works with varargs
     add c844646  Merge pull request #11952 from amaliujia/rw-BEAM-10215
     add 0ef1404  Set LabelDetectionConfig.model to “builtin/latest” (#11946)
     add 8964019  [BEAM-2939] Fix splittable DoFn lifecycle. (#11941)
     add 3cae594  [BEAM-6215] Additional tests for FlatMap label.
     add c3a2dd8  Merge pull request #11940 [BEAM-6215] Additional tests for FlatMap label.
     add 9c44108  fixup! roll back changes (#11958)
     add 629c56f  Support STRUCT, FLOAT64, INT64 BigQuery types
     add 564cef0  Merge pull request #11923 from [BEAM-10176] Support STRUCT, FLOAT64, INT64 BigQuery types
     add bfa8019  [ BEAM-3788] Updates kafka.py pydocs (#11928)
     add 9990724  [BEAM-8828] Added BigQueryTableProvider WriteDisposition configuration (#11951)
     add 0be6541  Prototype schema-inferring Row constructor. (#11901)
     add f2f91f0  [BEAM-10144] Update PipelineOptions snippets for best practices (#11851)
     add 32dd786  [BEAM-9577] Migrate PortablePipelineJarCreator to new artifact service.
     add 4ed51e0  spotless
     add c08dc22  Merge pull request #11932 [BEAM-9577] Migrate PortablePipelineJarCreator to new artifact service.
     add 4105390  Split Nexmark QueryTest and SqlQueryTest for clarity
     add 3fe2d74  Add ZetaSQL Nexmark variant
     add d4d45bf  Merge pull request #11820: [BEAM-10093] ZetaSql Nexmark variant
     add fa9f905  [BEAM-8134] Grafana dashboards for Nexmark tests
     add 9128ee7  Merge pull request #11909: [BEAM-8134] Grafana dashboards for Nexmark tests
     add 10c7d38  [BEAM-10225] Add log message when starting job server
     add 0c1d3db  Merge pull request #11961 from annaqin418/BEAM-10225-jobserver-log
     add 07b4533  [BEAM-10227] Switches typing version modifier to python_full_version so that it is taken into account.
     add e60bc19  [BEAM-10227] Switches typing version modifier to python_full_version.
     add 837b52f  [BEAM-9742] Add Configurable FluentBackoff to JdbcIO Write (#11396)
     add a201597  Simplify Python on Flink runner instructions.
     add 3abde8f  Fix stray paragraph, separate and rework python.
     add ee60254  Expand note on runner selection.
     add 77ac458  Move Beam Compatibility table below instructions.
     add 0fdf01a  Merge pull request #11949 Simplify Python on Flink runner instructions.
     add 6b03195  [BEAM-10230] @Ignore: BYTES works with LIKE.
     add 0ef36fe  Merge pull request #11971 from amaliujia/rw-BEAM-10230
     add 55e6872  Finalize CHANGES.md for 2.22.0 (#11973)
     add dcab29b  [BEAM-9999] Remove Gearpump runner.
     add aabe31c  Merge pull request #11960: [BEAM-9999] Remove Gearpump runner.
     add 647d21d  [BEAM-9577] Remove use of legacy artifact service in Python.
     add 57487dc  Merge pull request #11935 [BEAM-9577] Remove use of legacy artifact service in Python.
     add d5dd47b  [BEAM-9679] Add CombinePerKey to Core Transforms Go Katas (#11936)
     add 5e31d3a  [BEAM-9951] Adding integration tests for synthetic pipelines in Go (#11870)
     add f33c85d  [BEAM-9217] Update DoFn javadoc for schema type translation (#11984)
     add 5ae1057  [BEAM-10234] Fix error message for missing licenses.
     add f5b505a  Merge pull request #11983 from ibzib/BEAM-10234
     add 83df746  Bump default Pubsub timeout to 60 seconds (#11985)
     add db00d86  Merge pull request #11950 from [BEAM-8596]: Add SplunkIO transform to write messages to Splunk
     add 1988cb0  Simple code cleanup for ZetaSqlUtils
     add 42e45e2  Merge pull request #11988 from robinyqiu/cleanup
     add 63cc13a  Support HOP and  SESSION as TVF (#11868)
     add 01ba867  [BEAM-9615] Add String UTF8 coder. (#11989)
     add 13411a6  [BEAM-7163] Correcting godoc for passert.Sum (#11999)
     add 2c60ce2  [BEAM-10250]: Update io_matrix with new SplunkIO (#11998)
     add b0d8f3b  Remove a hack used to retrieve schematized data from HL7v2 messages, … (#11969)
     add d870be8  [BEAM-10235] Adding a CountElms transform to the Go SDK.
     add adeceec  Merge pull request #11986: [BEAM-10235] Adding a CountElms transform to the Go SDK.
     add fe1c054  [BEAM-9679] Add Partition task to Core Transform katas (#11979)
     add c8eb5ac  [BEAM-10249] Populate state cache with initial values before appending
     add c328d2a  Merge pull request #11997: [BEAM-10249] Populate state cache with initial values before appending
     add d279c8b  [BEAM-10247] Pin google-api-core to 1.17.0, because otherwise the pulled version 1.20.0 is incompatible with the pinned grpc
     add 4a4e952  Bumping grpcio version to 1.29.0 to be compatible with google-api-core-1.20.0
     add 0d5c43f  added rsa<4.1 for python2
     add a0e0706  [BEAM-10247] Pin google-api-core to 1.17.0 - #11996
     add 1e7220f  BEAM-10221: Add in four tests cases of base on the java equivalent for the kotlin cookbook examples.
     add 34dff56  Merge pull request #12000 from BEAM-10221: Add in example tests cases of Kotlin cookbook
     add dc8df09  Clarify release guide for publishing release notes to GitHub (#12015)
     add 439cee7  [BEAM-9951] Fixing some lint bugs.
     add bf0117b  Merge pull request #12008: [BEAM-9951] Fixing some lint bugs.
     add 9599957  Lump together PMC-only steps
     add 4ed131b  Merge pull request #12017 from TheNeuralBit/pmc-steps
     add 01d96bd  Update screen_diff deps and goldens as stable Chrome version advances.
     add 26cf2ea  Merge pull request #12005 from Update screen_diff deps and goldens as stable Chrome version advances.
     add 8e74c0b  Add zetaSqlValueToJavaObject() with unknown target type
     add 232c878  Merge pull request #11957 from robinyqiu/fixit
     add a85cc81  [BEAM-10260] Fix continuation token support with statecache
     add c30629e  [BEAM-10260] Remove is_cached parameter from CachingStateHandler
     add d5c3391  Merge pull request #12012: [BEAM-10260] Fix continuation token support in CachingStateHandler
     add dfc4bde  Merge pull request #11086 from [BEAM-8910] Make custom BQ source read from Avro
     add 2edb02f  Merge pull request #11838 from [BEAM-9322] Modify the TestStream to output a dict when no output_tags are specified
     add e3001d8  [BEAM-10208] add cross-language KafkaIO integration test
     add b906ca4  Merge pull request #11942: [BEAM-10208] add cross-language KafkaIO integration test
     add 72d9744  [BEAM-10251] Adds transform id to TestStream step (#12003)
     add 0e4d13f  added kotlin katas release blog post with associated images
     add bba15ef  fixed up verbiage
     add a06cb2c  Merge pull request #11944 from [BEAM-10210] Beam Katas for Kotlin Blog Post
     add 2b446ff  [BEAM-7672] Increase  the set of acceptable Python wheels in Beam Python containers #11970
     add 14085a5  Merge pull request #11790 from [BEAM-9926] Programming guide - Fix typos and add clearer Python text
     add cfbfa37  [BEAM-9679] Update Stepik course information (#12018)
     add 0f466e6  [BEAM-10169] ParDo functions with correct output N in their error messages. (#11976)
     add 8030869  [BEAM-9852] Do not create data channel for empty timer descriptor.
     add e7833d6  Fix state handler for missing service descriptor.
     add ca0611a  Merge pull request #11972 from ibzib/BEAM-9852
     add fb3daf9  [BEAM-10217] CALL_FUNCTION and CALL_METHOD fixes (#11966)
     add c3d10f2  Migrating to new CI - Beam Jenkins Master
     add d3557ee  Merge pull request #12019 from damgad/master
     add b4d5e07  [BEAM-10220] add support for implicit nulls for converting between beam rows and json (#11955)
     add c0dd6e7  [BEAM-3489] DataflowRunner to read PubsubMessage if getNeedsMessageId is true (#11873)
     add d1c6ef6  [BEAM-10097, BEAM-5982, BEAM-3080] Use primitive views directly instead of transforming KV<Void, Iterable<T>> to the view type via a naive mapping. (#11821)
     add 970b36f  Merge pull request #11943 from [BEAM-10209] Add without_defaults to Mean combiner in Python
     add 771e018  added instruction for converting maven project to gradle
     add 6819ed8  reworded and reformattted instructions after viewing locally
     add 8a2180e  added instructions for executing with gradle for runners: direct, dataflow, spark
     add e7ca038  Merge pull request #11964 from JustineKoa/jk-addGradleInstructions
     add b210272  Fix error creating unnecessary data channel for user timer in py sdk (#12013)
     add 59edb66  Removes experimental annotations from stabilized GCP connector APIs.
     add ef94a5b  Merge pull request #12026: [BEAM-10271] Removes experimental annotations from stabilized GCP connector APIs.
     add f160c69  [BEAM-9758] Fix string interpolation in echo statements.
     add 737394f  Merge pull request #12021 from ibzib/BEAM-9758
     add 453fab7d [BEAM-9164] Unify watermark emission timer registration in UnboundedSourceWrapper
     add 5dd1429  Merge pull request #12025: [BEAM-9164] Unify watermark emission timer registration in UnboundedSourceWrapper
     add 0be3ad2  [BEAM-6458] Link to metrics page by domain, not ip address
     add 00420a9  Merge pull request #11978: [BEAM-6458] Link to metrics page by domain, not ip address
     add 61b6656  [BEAM-10273] Fix sql_test failure in python 2 (#12028)
     add 3b67e9e  [BEAM-10153] Fix VoidCoder with FnApiDoFnRunner
     add 9a86810  Add @Nullable to Timer getUserKey()
     add e96646e  revert VoidCoder changes
     add d4f1761  Add initialized flag
     add b4de3214 Update sdks/java/harness/src/main/java/org/apache/beam/fn/harness/state/FnApiStateAccessor.java
     add fe7ae26  Merge pull request #12029 from y1chi/BEAM-10153
     add 5f8bc33  Fix default in 'would you like to proceed' (#12014)
     add f3cf232  Cleaner logging, explicit errors on unimplemented features.
     add bca893e  Merge pull request #11913 Cleaner logging, explicit errors on unimplemented features.
     add 4440463  [BEAM-10254] Fix exception with typing.Pattern
     add a7dfa0e  Merge pull request #12007: [BEAM-10254] Fix exception with typing.Pattern
     add 99055cf  [BEAM-9179] Refactor Beam ZetaSQL type translation code (#12027)
     add 24c5985  Update Beam Katas Built-in IOs to get the Kotlin Katas featured (#12031)
     add 56d7745  grpc._channel._Rendezvous -> grpc.RpcError (#12033)
     add 9011179  [BEAM-10202] make run_job_server.sh, run_expansion_service.sh OSX-compatible
     add 71de1ad  Merge pull request #11930: [BEAM-10202] make cross-language testing scripts OSX-compatible
     add 278f2cc  [BEAM-7390] Add code snippet for GroupIntoBatches (#10165)
     add a8ec8aa  Enable test_pardo_timers_clear for fn_runner
     add 36183a8  Merge pull request #11894 from boyuanzz/BEAM-7074
     add a528e4c  Update Dataflow Python container to 20200619 (#12043)
     add 148cd8a  [BEAM-10267] ZetaSQLCalc makes grpc call per row
     add f3d5fc4  Merge pull request #12036 from apilloud/singleexp
     add 09b4d91  [BEAM-9999] Remove Apex runner.
     add 3384f62  Merge pull request #11990: [BEAM-9999] Remove Apex runner
     add 6499899  [BEAM-10082] Remove dependency on java.xml.ws.
     add 02f0d9a  Remove deprecated MetricName methods.
     add 9eab347  Merge pull request #12001 from tysonjh/BEAM-10082
     add c37efb7  [BEAM-9747] Deprecate RedisIO.readAll() and add RedisIO.readKeyPatterns as a replacement
     add 4dfc8a1  Merge pull request #11405: [BEAM-9747] Deprecate RedisIO.readAll() and add RedisIO.readKeyPatterns as a replacement
     add 99911cc  [BEAM-9679] Add Side Input to Core Transform Go SDK katas (#12024)
     add 85dc01c  [BEAM-1438] Allow 0 shards on WriteFiles streaming
     add 09b076d  Removing test for no-longer true condition.

This update added new revisions after undoing existing revisions.
That is to say, some revisions that were in the old version of the
branch are not in the new version.  This situation occurs
when a user --force pushes a change and generates a repository
containing something like this:

 * -- * -- B -- O -- O -- O   (bf573ae)
            \
             N -- N -- N   refs/heads/pabloem-patch-1 (09b076d)

You should already have received notification emails for all of the O
revisions, and so the following emails describe only the N revisions
from the common base, B.

Any revisions marked "omit" are not gone; other references still
refer to them.  Any revisions marked "discard" are gone forever.

No new revisions were added by this update.

Summary of changes:
 .github/PULL_REQUEST_TEMPLATE.md                   |    16 +-
 .github/autolabeler.yml                            |     2 -
 .test-infra/jenkins/CommonJobProperties.groovy     |    76 +-
 .test-infra/jenkins/Kubernetes.groovy              |    30 +-
 .test-infra/jenkins/LoadTestsBuilder.groovy        |     2 +-
 .test-infra/jenkins/NexmarkBuilder.groovy          |     2 +-
 .test-infra/jenkins/README.md                      |   234 +-
 .../job_PerformanceTests_BigQueryIO_Python.groovy  |     8 +-
 .../job_PerformanceTests_PubsubIO_Python.groovy    |     4 +-
 .../jenkins/job_PerformanceTests_Python.groovy     |   180 +-
 .../job_PostCommit_BeamMetrics_Publish.groovy      |    41 +
 ...job_PostCommit_Java_ValidatesRunner_Apex.groovy |    44 -
 ...PostCommit_Java_ValidatesRunner_Gearpump.groovy |    49 -
 .test-infra/jupyter/precommit_job_times.ipynb      |     6 +-
 .../01-configure/gke-storageclass-broker-pd.yml    |     2 +-
 .../gke-storageclass-zookeeper-ssd.yml             |     2 +-
 ...beam-grafana-etcdata-persistentvolumeclaim.yaml |    32 -
 ...beam-grafana-libdata-persistentvolumeclaim.yaml |    30 -
 ...beam-grafana-logdata-persistentvolumeclaim.yaml |    32 -
 .test-infra/metrics/beam-influxdb-autobackup.yaml  |    48 -
 ...eam-influxdb-backups-persistentvolumeclaim.yaml |    28 -
 ...eam-influxdb-storage-persistentvolumeclaim.yaml |    28 -
 .test-infra/metrics/beam-influxdb.yaml             |   117 -
 ...beam-postgresql-data-persistentvolumeclaim.yaml |    32 -
 .test-infra/metrics/beamgrafana-deploy.yaml        |   180 -
 .test-infra/metrics/build.gradle                   |    51 +-
 .../metrics/build_and_publish_containers.sh        |    22 +-
 .../dashboards/Post-Commits_status_dashboard.json  |     2 +-
 .../Java_IO_IT_Tests_Dataflow.json                 |     2 +-
 .../dashboards/perftests_metrics/Nexmark.json      |  4732 +++
 .../dashboards/perftests_metrics/Nexmark_SQL.json  |  2361 ++
 .../perftests_metrics/Nexmark_SQL_output_size.json |   309 +
 .../Nexmark_Spark_Classic_Standard_SQL.json        |   502 +
 .../perftests_metrics/Nexmark_output_size.json     |  2295 ++
 .../Python_WordCount_IT_Benchmarks.json            |   297 +
 .../grafana/dashboards/post-commit_tests.json      |     2 +-
 .../grafana/provisioning/dashboards/all.yaml       |     6 +-
 ...beam-grafana-etcdata-persistentvolumeclaim.yaml |    31 +
 ...beam-grafana-libdata-persistentvolumeclaim.yaml |    29 +
 ...beam-grafana-logdata-persistentvolumeclaim.yaml |    31 +
 .../kubernetes/beam-influxdb-autobackup.yaml       |    50 +
 ...eam-influxdb-backups-persistentvolumeclaim.yaml |    30 +
 ...eam-influxdb-storage-persistentvolumeclaim.yaml |    30 +
 .test-infra/metrics/kubernetes/beam-influxdb.yaml  |   117 +
 ...beam-postgresql-data-persistentvolumeclaim.yaml |    31 +
 .../metrics/kubernetes/beamgrafana-deploy.yaml     |   180 +
 .test-infra/metrics/sync/github/Dockerfile         |     8 +-
 .test-infra/metrics/sync/jenkins/Dockerfile        |     5 +-
 .test-infra/metrics/sync/jenkins/syncjenkins.py    |     4 +-
 .test-infra/metrics/sync/jira/Dockerfile           |     5 +-
 CHANGES.md                                         |    45 +-
 README.md                                          |    17 +-
 build.gradle                                       |     3 +
 .../org/apache/beam/gradle/BeamModulePlugin.groovy |    16 +-
 examples/java/build.gradle                         |     4 -
 examples/kotlin/build.gradle                       |     4 -
 .../kotlin/cookbook/DistinctExampleTest.kt         |    60 +
 .../examples/kotlin/cookbook/FilterExamplesTest.kt |    83 +
 .../examples/kotlin/cookbook/JoinExamplesTest.kt   |   104 +
 .../kotlin/cookbook/MaxPerKeyExamplesTest.kt       |    86 +
 .../CoGroupByKey/CoGroupByKey/cmd/main.go          |    44 +
 .../CoGroupByKey/CoGroupByKey/go.mod               |    29 +
 .../CoGroupByKey/CoGroupByKey/go.sum               |   329 +
 .../CoGroupByKey/CoGroupByKey/pkg/task/task.go     |    52 +
 .../CoGroupByKey/CoGroupByKey/task-info.yaml       |    35 +
 .../CoGroupByKey/task-remote-info.yaml             |     2 +
 .../CoGroupByKey/CoGroupByKey/task.md              |   104 +
 .../CoGroupByKey/CoGroupByKey/test/task_test.go    |    55 +
 .../Core Transforms/CoGroupByKey/lesson-info.yaml  |     0
 .../CoGroupByKey/lesson-remote-info.yaml           |     3 +
 .../Combine/Combine PerKey/cmd/main.go             |    49 +
 .../Core Transforms/Combine/Combine PerKey/go.mod  |    30 +
 .../Core Transforms/Combine/Combine PerKey/go.sum  |   326 +
 .../Combine/Combine PerKey/pkg/task/task.go        |    30 +
 .../Combine/Combine PerKey/task-info.yaml          |    35 +
 .../Combine/Combine PerKey/task-remote-info.yaml   |     2 +
 .../Core Transforms/Combine/Combine PerKey/task.md |    44 +
 .../Combine/Combine PerKey/test/task_test.go       |    61 +
 .../Core Transforms/Combine/CombineFn/cmd/main.go  |    43 +
 .../go/Core Transforms/Combine/CombineFn/go.mod    |    29 +
 .../go/Core Transforms/Combine/CombineFn/go.sum    |   354 +
 .../Combine/CombineFn/pkg/task/task.go             |    55 +
 .../Combine/CombineFn/task-info.yaml               |    47 +
 .../Combine/CombineFn/task-remote-info.yaml        |     2 +
 .../go/Core Transforms/Combine/CombineFn/task.md   |    49 +
 .../Combine/CombineFn/test/task_test.go            |    44 +
 .../Combine/Simple Function/cmd/main.go            |    43 +
 .../Core Transforms/Combine/Simple Function/go.mod |    30 +
 .../Core Transforms/Combine/Simple Function/go.sum |   326 +
 .../Combine/Simple Function/pkg/task/task.go       |    26 +
 .../Combine/Simple Function/task-info.yaml         |    35 +
 .../Combine/Simple Function/task-remote-info.yaml  |     2 +
 .../Combine/Simple Function/task.md                |    43 +
 .../Combine/Simple Function/test/task_test.go      |    44 +
 .../Core Transforms/Combine/lesson-info.yaml       |     0
 .../Combine/lesson-remote-info.yaml                |     3 +
 .../go/Core Transforms/Flatten/Flatten/cmd/main.go |    45 +
 .../go/Core Transforms/Flatten/Flatten/go.mod      |    31 +
 .../go/Core Transforms/Flatten/Flatten/go.sum      |   145 +
 .../Flatten/Flatten/pkg/task/task.go               |    22 +
 .../Core Transforms/Flatten/Flatten/task-info.yaml |    31 +
 .../Flatten/Flatten/task-remote-info.yaml          |     2 +
 .../go/Core Transforms/Flatten/Flatten/task.md     |    38 +
 .../Flatten/Flatten/test/task_test.go              |    47 +
 .../go/Core Transforms/Flatten/lesson-info.yaml    |    21 +
 .../Flatten/lesson-remote-info.yaml                |     3 +
 .../Core Transforms/GroupByKey/GroupByKey/go.mod   |     5 +-
 .../Core Transforms/GroupByKey/GroupByKey/go.sum   |    15 +
 .../GroupByKey/GroupByKey/task-remote-info.yaml    |     2 +-
 .../go/Core Transforms/Map/ParDo OneToMany/go.mod  |    12 +-
 .../go/Core Transforms/Map/ParDo OneToMany/go.sum  |    26 +-
 .../Map/ParDo OneToMany/task-remote-info.yaml      |     2 +-
 .../go/Core Transforms/Map/ParDo Struct/go.mod     |    12 +-
 .../go/Core Transforms/Map/ParDo Struct/go.sum     |    26 +-
 .../Map/ParDo Struct/task-remote-info.yaml         |     2 +-
 learning/katas/go/Core Transforms/Map/ParDo/go.mod |    12 +-
 learning/katas/go/Core Transforms/Map/ParDo/go.sum |    26 +-
 .../Map/ParDo/task-remote-info.yaml                |     2 +-
 .../Partition/Partition/cmd/main.go                |    44 +
 .../go/Core Transforms/Partition/Partition/go.mod  |    30 +
 .../go/Core Transforms/Partition/Partition/go.sum  |   324 +
 .../Partition/Partition/pkg/task/task.go           |    27 +
 .../Partition/Partition/task-info.yaml             |    35 +
 .../Partition/Partition/task-remote-info.yaml      |     2 +
 .../go/Core Transforms/Partition/Partition/task.md |    44 +
 .../Partition/Partition/test/task_test.go          |    48 +
 .../Core Transforms/Partition/lesson-info.yaml     |     0
 .../Partition/lesson-remote-info.yaml              |     3 +
 .../Side Input/Side Input/cmd/main.go              |    57 +
 .../Core Transforms/Side Input/Side Input/go.mod   |    31 +
 .../Core Transforms/Side Input/Side Input/go.sum   |   326 +
 .../Side Input/Side Input/pkg/task/task.go         |    46 +
 .../Side Input/Side Input/task-info.yaml           |    41 +
 .../Side Input/Side Input/task-remote-info.yaml    |     2 +
 .../Core Transforms/Side Input/Side Input/task.md  |    68 +
 .../Side Input/Side Input/test/task_test.go        |    95 +
 .../Core Transforms/Side Input/lesson-info.yaml    |     0
 .../Side Input/lesson-remote-info.yaml             |     3 +
 .../katas/go/Core Transforms/section-info.yaml     |     5 +
 .../Introduction/Hello Beam/Hello Beam Test/go.mod |    12 +-
 .../Introduction/Hello Beam/Hello Beam Test/go.sum |    38 +
 .../Hello Beam Test/task-remote-info.yaml          |     2 +-
 .../go/Introduction/Hello Beam/Hello Beam/go.mod   |    11 +-
 .../go/Introduction/Hello Beam/Hello Beam/go.sum   |    32 +
 .../Hello Beam/Hello Beam/task-remote-info.yaml    |     2 +-
 .../go/Introduction/Hello Beam/Hello Beam/task.md  |     2 +-
 learning/katas/go/course-remote-info.yaml          |     2 +-
 .../Aggregation/Count/task-remote-info.yaml        |     2 +-
 .../Aggregation/Max/task-remote-info.yaml          |     2 +-
 .../Aggregation/Mean/task-remote-info.yaml         |     2 +-
 .../Aggregation/Min/task-remote-info.yaml          |     2 +-
 .../Aggregation/Sum/task-remote-info.yaml          |     2 +-
 .../Filter/Filter/task-remote-info.yaml            |     2 +-
 .../Filter/ParDo/task-remote-info.yaml             |     2 +-
 .../WithKeys/WithKeys/task-remote-info.yaml        |     2 +-
 .../Branching/Branching/task-remote-info.yaml      |     2 +-
 .../CoGroupByKey/task-remote-info.yaml             |     2 +-
 .../BinaryCombineFn Lambda/task-remote-info.yaml   |     2 +-
 .../Combine/BinaryCombineFn/task-remote-info.yaml  |     2 +-
 .../Combine/Combine PerKey/task-remote-info.yaml   |     2 +-
 .../Combine/CombineFn/task-remote-info.yaml        |     2 +-
 .../Combine/Simple Function/task-remote-info.yaml  |     2 +-
 .../Composite Transform/task-remote-info.yaml      |     2 +-
 .../task-remote-info.yaml                          |     2 +-
 .../Flatten/Flatten/task-remote-info.yaml          |     2 +-
 .../GroupByKey/GroupByKey/task-remote-info.yaml    |     2 +-
 .../Map/FlatMapElements/task-remote-info.yaml      |     2 +-
 .../Map/MapElements/task-remote-info.yaml          |     2 +-
 .../Map/ParDo OneToMany/task-remote-info.yaml      |     2 +-
 .../Map/ParDo/task-remote-info.yaml                |     2 +-
 .../Partition/Partition/task-remote-info.yaml      |     2 +-
 .../Side Input/Side Input/task-remote-info.yaml    |     2 +-
 .../Side Output/Side Output/task-remote-info.yaml  |     2 +-
 .../Word Count/Word Count/task-remote-info.yaml    |     2 +-
 .../Built-in IOs/task-remote-info.yaml             |     2 +-
 .../java/IO/Built-in IOs/Built-in IOs/task.md      |     3 +-
 .../learning/katas/io/builtinios/TaskTest.java     |     7 +
 .../IO/TextIO/TextIO Read/task-remote-info.yaml    |     2 +-
 .../Hello Beam/Hello Beam/task-remote-info.yaml    |     2 +-
 .../Introduction/Hello Beam/Hello Beam/task.md     |    49 -
 .../Early Triggers/task-remote-info.yaml           |     2 +-
 .../Event Time Triggers/task-remote-info.yaml      |     2 +-
 .../Window Accumulation Mode/task-remote-info.yaml |     2 +-
 .../Adding Timestamp/ParDo/task-remote-info.yaml   |     2 +-
 .../WithTimestamps/task-remote-info.yaml           |     2 +-
 .../Fixed Time Window/task-remote-info.yaml        |     2 +-
 learning/katas/java/build.gradle                   |     2 +-
 learning/katas/java/course-remote-info.yaml        |     2 +-
 .../commontransforms/aggregation/count/Task.kt     |    46 +
 .../Aggregation/Count/task-info.yaml               |    29 +
 .../Aggregation/Count/task-remote-info.yaml        |     2 +
 .../Common Transforms/Aggregation/Count/task.md    |     0
 .../commontransforms/aggregation/count/TaskTest.kt |    43 +
 .../katas/commontransforms/aggregation/max/Task.kt |    46 +
 .../Aggregation/Max/task-info.yaml                 |    29 +
 .../Aggregation/Max/task-remote-info.yaml          |     2 +
 .../Common Transforms/Aggregation/Max/task.md      |     0
 .../commontransforms/aggregation/max/TaskTest.kt   |    43 +
 .../commontransforms/aggregation/mean/Task.kt      |    46 +
 .../Aggregation/Mean/task-info.yaml                |    29 +
 .../Aggregation/Mean/task-remote-info.yaml         |     2 +
 .../Common Transforms/Aggregation/Mean/task.md     |     0
 .../commontransforms/aggregation/mean/TaskTest.kt  |    43 +
 .../katas/commontransforms/aggregation/min/Task.kt |    46 +
 .../Aggregation/Min/task-info.yaml                 |    29 +
 .../Aggregation/Min/task-remote-info.yaml          |     2 +
 .../Common Transforms/Aggregation/Min/task.md      |     0
 .../commontransforms/aggregation/min/TaskTest.kt   |    43 +
 .../katas/commontransforms/aggregation/sum/Task.kt |    45 +
 .../Aggregation/Sum/task-info.yaml                 |    29 +
 .../Aggregation/Sum/task-remote-info.yaml          |     2 +
 .../Common Transforms/Aggregation/Sum/task.md      |     0
 .../commontransforms/aggregation/sum/TaskTest.kt   |    42 +
 .../Common Transforms/Aggregation/lesson-info.yaml |     0
 .../Aggregation/lesson-remote-info.yaml            |     3 +
 .../katas/commontransforms/filter/filter/Task.kt   |    47 +
 .../Common Transforms/Filter/Filter/task-info.yaml |    29 +
 .../Filter/Filter/task-remote-info.yaml            |     2 +
 .../Common Transforms/Filter/Filter/task.md        |     0
 .../commontransforms/filter/filter/TaskTest.kt     |    43 +
 .../katas/commontransforms/filter/pardo/Task.kt    |    57 +
 .../Common Transforms/Filter/ParDo/task-info.yaml  |    29 +
 .../Filter/ParDo/task-remote-info.yaml             |     2 +
 .../Common Transforms/Filter/ParDo/task.md         |     0
 .../commontransforms/filter/pardo/TaskTest.kt      |    43 +
 .../Common Transforms/Filter/lesson-info.yaml      |     0
 .../Filter/lesson-remote-info.yaml                 |     3 +
 .../katas/commontransforms/withkeys/Task.kt        |    53 +
 .../WithKeys/WithKeys/task-info.yaml               |    29 +
 .../WithKeys/WithKeys/task-remote-info.yaml        |     2 +
 .../Common Transforms/WithKeys/WithKeys/task.md    |     0
 .../katas/commontransforms/withkeys/TaskTest.kt    |    51 +
 .../Common Transforms/WithKeys/lesson-info.yaml    |     0
 .../WithKeys/lesson-remote-info.yaml               |     3 +
 .../Common Transforms/section-info.yaml            |     0
 .../Common Transforms/section-remote-info.yaml     |     2 +
 .../katas/coretransforms/branching/Task.kt         |    63 +
 .../Branching/Branching/task-info.yaml             |    32 +
 .../Branching/Branching/task-remote-info.yaml      |     2 +
 .../Core Transforms/Branching/Branching/task.md    |     0
 .../katas/coretransforms/branching/TaskTest.kt     |    47 +
 .../Core Transforms/Branching/lesson-info.yaml     |     0
 .../Branching/lesson-remote-info.yaml              |     3 +
 .../katas/coretransforms/cogroupbykey/Task.kt      |    84 +
 .../coretransforms/cogroupbykey/WordsAlphabet.kt   |    24 +
 .../CoGroupByKey/CoGroupByKey/task-info.yaml       |    31 +
 .../CoGroupByKey/task-remote-info.yaml             |     2 +
 .../CoGroupByKey/CoGroupByKey/task.md              |     0
 .../katas/coretransforms/cogroupbykey/TaskTest.kt  |    54 +
 .../Core Transforms/CoGroupByKey/lesson-info.yaml  |     0
 .../CoGroupByKey/lesson-remote-info.yaml           |     3 +
 .../combine/binarycombinefnlambda/Task.kt          |    52 +
 .../Combine/BinaryCombineFn Lambda/task-info.yaml  |    29 +
 .../BinaryCombineFn Lambda/task-remote-info.yaml   |     2 +
 .../Combine/BinaryCombineFn Lambda/task.md         |     0
 .../combine/binarycombinefnlambda/TaskTest.kt      |    47 +
 .../coretransforms/combine/binarycombinefn/Task.kt |    59 +
 .../Combine/BinaryCombineFn/task-info.yaml         |    29 +
 .../Combine/BinaryCombineFn/task-remote-info.yaml  |     2 +
 .../Combine/BinaryCombineFn/task.md                |     0
 .../combine/binarycombinefn/TaskTest.kt            |    47 +
 .../coretransforms/combine/combineperkey/Task.kt   |    63 +
 .../Combine/Combine PerKey/task-info.yaml          |    32 +
 .../Combine/Combine PerKey/task-remote-info.yaml   |     2 +
 .../Core Transforms/Combine/Combine PerKey/task.md |     0
 .../combine/combineperkey/TaskTest.kt              |    49 +
 .../katas/coretransforms/combine/combinefn/Task.kt |    79 +
 .../Combine/CombineFn/task-info.yaml               |    29 +
 .../Combine/CombineFn/task-remote-info.yaml        |     2 +
 .../Core Transforms/Combine/CombineFn/task.md      |     0
 .../coretransforms/combine/combinefn/TaskTest.kt   |    43 +
 .../katas/coretransforms/combine/simple/Task.kt    |    53 +
 .../Combine/Simple Function/task-info.yaml         |    29 +
 .../Combine/Simple Function/task-remote-info.yaml  |     2 +
 .../Combine/Simple Function/task.md                |     0
 .../coretransforms/combine/simple/TaskTest.kt      |    43 +
 .../Core Transforms/Combine/lesson-info.yaml       |     0
 .../Combine/lesson-remote-info.yaml                |     3 +
 .../katas/coretransforms/composite/Task.kt         |    62 +
 .../Composite Transform/task-info.yaml             |    29 +
 .../Composite Transform/task-remote-info.yaml      |     2 +
 .../Composite Transform/task.md                    |     0
 .../katas/coretransforms/composite/TaskTest.kt     |    44 +
 .../Composite Transform/lesson-info.yaml           |     0
 .../Composite Transform/lesson-remote-info.yaml    |     3 +
 .../coretransforms/dofnadditionalparams/Task.kt    |    31 +
 .../DoFn Additional Parameters/task-info.yaml      |    25 +
 .../task-remote-info.yaml                          |     2 +
 .../DoFn Additional Parameters/task.md             |     0
 .../dofnadditionalparams/TaskTest.kt               |    20 +
 .../DoFn Additional Parameters/lesson-info.yaml    |     0
 .../lesson-remote-info.yaml                        |     3 +
 .../learning/katas/coretransforms/flatten/Task.kt  |    58 +
 .../Core Transforms/Flatten/Flatten/task-info.yaml |    29 +
 .../Flatten/Flatten/task-remote-info.yaml          |     2 +
 .../Core Transforms/Flatten/Flatten/task.md        |     0
 .../katas/coretransforms/flatten/TaskTest.kt       |    49 +
 .../Core Transforms/Flatten/lesson-info.yaml       |     0
 .../Flatten/lesson-remote-info.yaml                |     3 +
 .../katas/coretransforms/groupbykey/Task.kt        |    58 +
 .../GroupByKey/GroupByKey/task-info.yaml           |    29 +
 .../GroupByKey/GroupByKey/task-remote-info.yaml    |     2 +
 .../Core Transforms/GroupByKey/GroupByKey/task.md  |     0
 .../katas/coretransforms/groupbykey/TaskTest.kt    |    52 +
 .../Core Transforms/GroupByKey/lesson-info.yaml    |     0
 .../GroupByKey/lesson-remote-info.yaml             |     3 +
 .../coretransforms/map/flatmapelements/Task.kt     |    54 +
 .../Map/FlatMapElements/task-info.yaml             |    29 +
 .../Map/FlatMapElements/task-remote-info.yaml      |     2 +
 .../Core Transforms/Map/FlatMapElements/task.md    |     0
 .../coretransforms/map/flatmapelements/TaskTest.kt |    44 +
 .../katas/coretransforms/map/mapelements/Task.kt   |    52 +
 .../Core Transforms/Map/MapElements/task-info.yaml |    29 +
 .../Map/MapElements/task-remote-info.yaml          |     2 +
 .../Core Transforms/Map/MapElements/task.md        |     0
 .../coretransforms/map/mapelements/TaskTest.kt     |    43 +
 .../coretransforms/map/pardoonetomany/Task.kt      |    55 +
 .../Map/ParDo OneToMany/task-info.yaml             |    29 +
 .../Map/ParDo OneToMany/task-remote-info.yaml      |     2 +
 .../Core Transforms/Map/ParDo OneToMany/task.md    |     0
 .../coretransforms/map/pardoonetomany/TaskTest.kt  |    41 +
 .../katas/coretransforms/map/pardo/Task.kt         |    54 +
 .../Core Transforms/Map/ParDo/task-info.yaml       |    29 +
 .../Map/ParDo/task-remote-info.yaml                |     2 +
 .../Core Transforms/Map/ParDo/task.md              |     0
 .../katas/coretransforms/map/pardo/TaskTest.kt     |    44 +
 .../Core Transforms/Map/lesson-info.yaml           |     0
 .../Core Transforms/Map/lesson-remote-info.yaml    |     3 +
 .../katas/coretransforms/partition/Task.kt         |    57 +
 .../Partition/Partition/task-info.yaml             |    29 +
 .../Partition/Partition/task-remote-info.yaml      |     2 +
 .../Core Transforms/Partition/Partition/task.md    |     0
 .../katas/coretransforms/partition/TaskTest.kt     |    44 +
 .../Core Transforms/Partition/lesson-info.yaml     |     0
 .../Partition/lesson-remote-info.yaml              |     3 +
 .../katas/coretransforms/sideinput/Person.kt       |    22 +
 .../katas/coretransforms/sideinput/Task.kt         |    90 +
 .../Side Input/Side Input/src}/task.md             |     0
 .../Side Input/Side Input/task-info.yaml           |    34 +
 .../Side Input/Side Input/task-remote-info.yaml    |     2 +
 .../Core Transforms/Side Input/Side Input/task.md  |     0
 .../katas/coretransforms/sideinput/TaskTest.kt     |    72 +
 .../Core Transforms/Side Input/lesson-info.yaml    |     0
 .../Side Input/lesson-remote-info.yaml             |     3 +
 .../katas/coretransforms/sideoutput/Task.kt        |    68 +
 .../Side Output/Side Output/src}/task.md           |     0
 .../Side Output/Side Output/task-info.yaml         |    29 +
 .../Side Output/Side Output/task-remote-info.yaml  |     2 +
 .../Side Output/Side Output/task.md                |     0
 .../katas/coretransforms/sideoutput/TaskTest.kt    |    49 +
 .../Core Transforms/Side Output/lesson-info.yaml   |     0
 .../Side Output/lesson-remote-info.yaml            |     3 +
 .../Core Transforms/section-info.yaml              |     0
 .../Core Transforms/section-remote-info.yaml       |     2 +
 .../beam/learning/katas/examples/wordcount/Task.kt |    66 +
 .../Examples/Word Count/Word Count/task-info.yaml  |    29 +
 .../Word Count/Word Count/task-remote-info.yaml    |     2 +
 .../Examples/Word Count/Word Count/task.md         |     0
 .../learning/katas/examples/wordcount/TaskTest.kt  |    53 +
 .../Examples/Word Count/lesson-info.yaml           |     0
 .../Examples/Word Count/lesson-remote-info.yaml    |     3 +
 .../{python => kotlin}/Examples/section-info.yaml  |     0
 .../katas/kotlin/Examples/section-remote-info.yaml |     2 +
 .../beam/learning/katas/io/builtinios/Task.kt      |    31 +
 .../IO/Built-in IOs/Built-in IOs/task-info.yaml    |    25 +
 .../Built-in IOs/task-remote-info.yaml             |     2 +
 .../kotlin/IO/Built-in IOs/Built-in IOs/task.md    |    28 +
 .../beam/learning/katas/io/builtinios/TaskTest.kt  |    28 +
 .../IO/Built-in IOs/lesson-info.yaml               |     0
 .../kotlin/IO/Built-in IOs/lesson-remote-info.yaml |     3 +
 .../IO/TextIO/TextIO Read}/countries.txt           |     0
 .../beam/learning/katas/io/textio/read/Task.kt     |    54 +
 .../kotlin/IO/TextIO/TextIO Read/task-info.yaml    |    34 +
 .../IO/TextIO/TextIO Read/task-remote-info.yaml    |     2 +
 .../{java => kotlin}/IO/TextIO/TextIO Read/task.md |     0
 .../beam/learning/katas/io/textio/read/TaskTest.kt |    53 +
 .../{java => kotlin}/IO/TextIO/lesson-info.yaml    |     0
 .../katas/kotlin/IO/TextIO/lesson-remote-info.yaml |     3 +
 .../katas/{python => kotlin}/IO/section-info.yaml  |     0
 learning/katas/kotlin/IO/section-remote-info.yaml  |     2 +
 .../apache/beam/learning/katas/intro/hello/Task.kt |    43 +
 .../Hello Beam/Hello Beam/task-info.yaml           |    29 +
 .../Hello Beam/Hello Beam/task-remote-info.yaml    |     2 +
 .../Introduction/Hello Beam/Hello Beam/task.md     |    49 +
 .../beam/learning/katas/intro/hello/TaskTest.kt    |    40 +
 .../Introduction/Hello Beam/lesson-info.yaml       |     0
 .../Hello Beam/lesson-remote-info.yaml             |     3 +
 .../Introduction/section-info.yaml                 |     0
 .../kotlin/Introduction/section-remote-info.yaml   |     2 +
 learning/katas/kotlin/README.md                    |    31 +
 .../katas/triggers/earlytriggers/GenerateEvent.kt  |    41 +
 .../learning/katas/triggers/earlytriggers/Task.kt  |    62 +
 .../Early Triggers/Early Triggers/task-info.yaml   |    31 +
 .../Early Triggers/task-remote-info.yaml           |     2 +
 .../Triggers/Early Triggers/Early Triggers/task.md |     0
 .../katas/triggers/earlytriggers/TaskTest.kt       |    64 +
 .../Triggers/Early Triggers/lesson-info.yaml       |     0
 .../Early Triggers/lesson-remote-info.yaml         |     3 +
 .../triggers/eventtimetriggers/GenerateEvent.kt    |    41 +
 .../katas/triggers/eventtimetriggers/Task.kt       |    57 +
 .../Event Time Triggers/task-info.yaml             |    31 +
 .../Event Time Triggers/task-remote-info.yaml      |     2 +
 .../Event Time Triggers/task.md                    |     0
 .../katas/triggers/eventtimetriggers/TaskTest.kt   |    67 +
 .../Triggers/Event Time Triggers/lesson-info.yaml  |     0
 .../Event Time Triggers/lesson-remote-info.yaml    |     3 +
 .../triggers/windowaccummode/GenerateEvent.kt      |    41 +
 .../katas/triggers/windowaccummode/Task.kt         |    62 +
 .../Window Accumulation Mode/task-info.yaml        |    31 +
 .../Window Accumulation Mode/task-remote-info.yaml |     2 +
 .../Window Accumulation Mode/task.md               |     0
 .../katas/triggers/windowaccummode/TaskTest.kt     |    64 +
 .../Window Accumulation Mode/lesson-info.yaml      |     0
 .../lesson-remote-info.yaml                        |     3 +
 .../{java => kotlin}/Triggers/section-info.yaml    |     0
 .../katas/kotlin/Triggers/section-remote-info.yaml |     2 +
 .../katas/windowing/addingtimestamp/pardo/Event.kt |    23 +
 .../katas/windowing/addingtimestamp/pardo/Task.kt  |    61 +
 .../Adding Timestamp/ParDo/task-info.yaml          |    31 +
 .../Adding Timestamp/ParDo/task-remote-info.yaml   |     2 +
 .../Windowing/Adding Timestamp/ParDo/task.md       |    46 +
 .../windowing/addingtimestamp/pardo/TaskTest.kt    |    77 +
 .../addingtimestamp/withtimestamps/Event.kt        |    23 +
 .../addingtimestamp/withtimestamps/Task.kt         |    55 +
 .../Adding Timestamp/WithTimestamps/task-info.yaml |    31 +
 .../WithTimestamps/task-remote-info.yaml           |     2 +
 .../Adding Timestamp/WithTimestamps/task.md        |    39 +
 .../addingtimestamp/withtimestamps/TaskTest.kt     |    75 +
 .../Windowing/Adding Timestamp/lesson-info.yaml    |     0
 .../Adding Timestamp/lesson-remote-info.yaml       |     3 +
 .../learning/katas/windowing/fixedwindow/Task.kt   |    66 +
 .../Fixed Time Window/task-info.yaml               |    31 +
 .../Fixed Time Window/task-remote-info.yaml        |     2 +
 .../Fixed Time Window/Fixed Time Window/task.md    |     0
 .../katas/windowing/fixedwindow/TaskTest.kt        |    81 +
 .../katas/windowing/fixedwindow/WindowedEvent.kt   |    22 +
 .../Windowing/Fixed Time Window/lesson-info.yaml   |     0
 .../Fixed Time Window/lesson-remote-info.yaml      |     3 +
 .../{python => kotlin}/Windowing/section-info.yaml |     0
 .../kotlin/Windowing/section-remote-info.yaml      |     2 +
 learning/katas/kotlin/build.gradle                 |   134 +
 learning/katas/kotlin/course-info.yaml             |    32 +
 learning/katas/kotlin/course-remote-info.yaml      |     2 +
 .../gradle/wrapper/gradle-wrapper.jar              |   Bin
 .../gradle/wrapper/gradle-wrapper.properties       |     0
 learning/katas/{java => kotlin}/gradlew            |     0
 learning/katas/{java => kotlin}/gradlew.bat        |     0
 learning/katas/{java => kotlin}/settings.gradle    |     0
 .../{java => kotlin}/util/resources/log4j2.xml     |     0
 .../src/org/apache/beam/learning/katas/util/Log.kt |    63 +
 .../apache/beam/learning/katas/util/ContainsKvs.kt |    58 +
 .../apache/beam/learning/katas/util/KvMatcher.kt   |    47 +
 .../Introduction/Hello Beam/Hello Beam/task.md     |     2 +-
 ownership/JAVA_DEPENDENCY_OWNERS.yaml              |    25 -
 release/build.gradle                               |     1 -
 .../src/main/groovy/MobileGamingCommands.groovy    |     1 -
 .../src/main/groovy/quickstart-java-apex.groovy    |    45 -
 .../main/groovy/quickstart-java-gearpump.groovy    |    43 -
 .../src/main/scripts/build_release_candidate.sh    |    10 +-
 release/src/main/scripts/mass_comment.py           |     2 -
 .../main/scripts/publish_github_release_notes.sh   |    68 +
 release/src/main/scripts/run_rc_validation.sh      |    12 -
 runners/apex/build.gradle                          |   118 -
 .../beam/runners/apex/ApexPipelineOptions.java     |    67 -
 .../org/apache/beam/runners/apex/ApexRunner.java   |   391 -
 .../beam/runners/apex/ApexRunnerRegistrar.java     |    54 -
 .../apache/beam/runners/apex/ApexRunnerResult.java |    99 -
 .../apache/beam/runners/apex/ApexYarnLauncher.java |   415 -
 .../apache/beam/runners/apex/TestApexRunner.java   |    68 -
 .../org/apache/beam/runners/apex/package-info.java |    20 -
 .../apex/translation/ApexPipelineTranslator.java   |   188 -
 .../apex/translation/CreateValuesTranslator.java   |    39 -
 .../translation/FlattenPCollectionTranslator.java  |   139 -
 .../apex/translation/GroupByKeyTranslator.java     |    38 -
 .../runners/apex/translation/ParDoTranslator.java  |   265 -
 .../apex/translation/ReadUnboundedTranslator.java  |    39 -
 .../apex/translation/TransformTranslator.java      |    26 -
 .../apex/translation/TranslationContext.java       |   280 -
 .../apex/translation/WindowAssignTranslator.java   |    47 -
 .../translation/operators/ApexFlattenOperator.java |   112 -
 .../operators/ApexGroupByKeyOperator.java          |   234 -
 .../translation/operators/ApexParDoOperator.java   |   601 -
 .../operators/ApexProcessFnOperator.java           |   183 -
 .../operators/ApexReadUnboundedInputOperator.java  |   170 -
 .../translation/operators/ApexTimerInternals.java  |   282 -
 .../apex/translation/operators/package-info.java   |    20 -
 .../runners/apex/translation/package-info.java     |    20 -
 .../apex/translation/utils/ApexStateInternals.java |   437 -
 .../apex/translation/utils/ApexStreamTuple.java    |   224 -
 .../translation/utils/CoderAdapterStreamCodec.java |    70 -
 .../apex/translation/utils/NoOpStepContext.java    |    38 -
 .../translation/utils/StateInternalsProxy.java     |    69 -
 .../utils/ValueAndCoderKryoSerializable.java       |    72 -
 .../apex/translation/utils/ValuesSource.java       |   141 -
 .../apex/translation/utils/package-info.java       |    20 -
 .../beam/runners/apex/ApexRunnerRegistrarTest.java |    42 -
 .../apache/beam/runners/apex/ApexRunnerTest.java   |   101 -
 .../beam/runners/apex/ApexYarnLauncherTest.java    |   135 -
 .../runners/apex/examples/UnboundedTextSource.java |   130 -
 .../beam/runners/apex/examples/WordCountTest.java  |   186 -
 .../beam/runners/apex/examples/package-info.java   |    20 -
 .../translation/ApexGroupByKeyOperatorTest.java    |   112 -
 .../FlattenPCollectionTranslatorTest.java          |   104 -
 .../apex/translation/GroupByKeyTranslatorTest.java |   228 -
 .../apex/translation/ParDoTranslatorTest.java      |   353 -
 .../translation/ReadUnboundTranslatorTest.java     |   118 -
 .../apex/translation/SideInputTranslationTest.java |   173 -
 .../operators/ApexTimerInternalsTest.java          |   146 -
 .../translation/utils/ApexStateInternalsTest.java  |   114 -
 .../apex/translation/utils/CollectionSource.java   |   126 -
 .../test/resources/beam-runners-apex.properties    |    20 -
 runners/apex/src/test/resources/log4j.properties   |    35 -
 runners/apex/src/test/resources/words.txt          |     3 -
 .../construction/PCollectionViewTranslation.java   |     6 -
 .../beam/runners/core/construction/Timer.java      |     1 +
 .../CreatePCollectionViewTranslationTest.java      |    57 +-
 .../apache/beam/runners/core/SideInputHandler.java |    38 +-
 .../beam/runners/core/SideInputHandlerTest.java    |    31 +-
 .../beam/runners/direct/SideInputContainer.java    |    33 +-
 .../beam/runners/direct/EvaluationContextTest.java |     9 +-
 .../runners/direct/SideInputContainerTest.java     |    42 +-
 .../extensions/metrics/MetricsHttpSink.java        |    15 +-
 .../beam/runners/flink/FlinkCapabilities.java      |    34 +
 .../beam/runners/flink/FlinkCapabilities.java      |    34 +
 .../flink/FlinkBatchPipelineTranslator.java        |    15 +-
 .../flink/FlinkBatchTransformTranslators.java      |   256 +-
 .../flink/FlinkBatchTranslationContext.java        |    61 +-
 .../beam/runners/flink/FlinkPipelineOptions.java   |     7 +
 .../translation/functions/FlinkDoFnFunction.java   |   156 +-
 .../functions/FlinkExplodeWindowsFunction.java     |    37 +
 .../functions/FlinkNonMergingReduceFunction.java   |   112 +
 .../functions/FlinkPartialReduceFunction.java      |    24 +-
 .../translation/functions/FlinkReduceFunction.java |    27 +-
 .../functions/FlinkSideInputReader.java            |    33 +-
 .../functions/FlinkStatefulDoFnFunction.java       |     7 +-
 .../functions/SideInputInitializer.java            |    69 +-
 .../functions/SingleWindowFlinkCombineRunner.java  |   119 +
 .../translation/types/WindowedKvKeySelector.java   |    60 +
 .../translation/utils/CountingPipelineVisitor.java |    47 +
 .../translation/utils/LookupPipelineVisitor.java   |    98 +
 .../streaming/io/UnboundedSourceWrapper.java       |     5 +-
 .../flink/batch/NonMergingGroupByKeyTest.java      |    80 +
 .../wrappers/streaming/DoFnOperatorTest.java       |    37 +-
 runners/gearpump/build.gradle                      |    99 -
 .../runners/gearpump/GearpumpPipelineOptions.java  |    59 -
 .../runners/gearpump/GearpumpPipelineResult.java   |   109 -
 .../beam/runners/gearpump/GearpumpRunner.java      |   110 -
 .../runners/gearpump/GearpumpRunnerRegistrar.java  |    56 -
 .../beam/runners/gearpump/TestGearpumpRunner.java  |    50 -
 .../apache/beam/runners/gearpump/package-info.java |    20 -
 .../CreateGearpumpPCollectionViewTranslator.java   |    40 -
 .../translators/CreateStreamingGearpumpView.java   |   154 -
 .../translators/FlattenPCollectionsTranslator.java |    78 -
 .../translators/GearpumpPipelineTranslator.java    |   152 -
 .../gearpump/translators/GroupByKeyTranslator.java |   243 -
 .../translators/ParDoMultiOutputTranslator.java    |   130 -
 .../translators/ReadBoundedTranslator.java         |    44 -
 .../translators/ReadUnboundedTranslator.java       |    44 -
 .../gearpump/translators/TransformTranslator.java  |    26 -
 .../gearpump/translators/TranslationContext.java   |    96 -
 .../translators/WindowAssignTranslator.java        |    97 -
 .../translators/functions/DoFnFunction.java        |   197 -
 .../translators/functions/package-info.java        |    20 -
 .../translators/io/BoundedSourceWrapper.java       |    40 -
 .../gearpump/translators/io/GearpumpSource.java    |   109 -
 .../translators/io/UnboundedSourceWrapper.java     |    42 -
 .../gearpump/translators/io/ValuesSource.java      |   160 -
 .../gearpump/translators/io/package-info.java      |    20 -
 .../runners/gearpump/translators/package-info.java |    20 -
 .../translators/utils/DoFnRunnerFactory.java       |   101 -
 .../translators/utils/NoOpStepContext.java         |    37 -
 .../translators/utils/TranslatorUtils.java         |   194 -
 .../gearpump/translators/utils/package-info.java   |    20 -
 .../gearpump/GearpumpRunnerRegistrarTest.java      |    51 -
 .../beam/runners/gearpump/PipelineOptionsTest.java |    69 -
 ...reateGearpumpPCollectionViewTranslatorTest.java |    55 -
 .../FlattenPCollectionsTranslatorTest.java         |   153 -
 .../translators/GroupByKeyTranslatorTest.java      |   148 -
 .../translators/ReadBoundedTranslatorTest.java     |    69 -
 .../translators/ReadUnboundedTranslatorTest.java   |    69 -
 .../translators/WindowAssignTranslatorTest.java    |   109 -
 .../translators/io/GearpumpSourceTest.java         |    95 -
 .../gearpump/translators/io/ValueSoureTest.java    |    73 -
 .../translators/utils/TranslatorUtilsTest.java     |    74 -
 .../dataflow/DataflowPipelineTranslator.java       |     3 +
 .../beam/runners/dataflow/DataflowRunner.java      |    11 +-
 .../options/DataflowPipelineDebugOptions.java      |    28 +
 .../options/DataflowWorkerHarnessOptions.java      |    12 -
 .../beam/runners/dataflow/util/PackageUtil.java    |    19 +-
 .../dataflow/DataflowPipelineTranslatorTest.java   |    10 +-
 .../beam/runners/dataflow/worker/StateFetcher.java |    48 +-
 .../dataflow/worker/util/MemoryMonitor.java        |    30 +-
 .../runners/dataflow/worker/StateFetcherTest.java  |    14 +-
 ...tFetchAndFilterStreamingSideInputNodesTest.java |     6 +-
 .../dataflow/worker/util/MemoryMonitorTest.java    |    23 +-
 .../artifact/ArtifactRetrievalService.java         |    62 +-
 .../fnexecution/control/RemoteExecutionTest.java   |    40 +-
 .../runners/jobsubmission/JobServerDriver.java     |     1 +
 .../jobsubmission/PortablePipelineJarCreator.java  |   126 +-
 .../PortablePipelineJarCreatorTest.java            |    78 +-
 .../beam/runners/jet/JetRunnerRegistrar.java       |     2 +-
 .../beam/runners/jet/JetTestRunnerRegistrar.java   |     2 +-
 .../batch/functions/SparkSideInputReader.java      |   102 +-
 .../runners/spark/util/SparkSideInputReader.java   |    31 +-
 sdks/go/pkg/beam/coder.go                          |     6 +-
 sdks/go/pkg/beam/coder_test.go                     |    55 +
 sdks/go/pkg/beam/core/graph/coder/coder.go         |    29 +-
 sdks/go/pkg/beam/core/graph/coder/coder_test.go    |     4 +
 sdks/go/pkg/beam/core/graph/coder/stringutf8.go    |    83 +
 .../pkg/beam/core/graph/coder/stringutf8_test.go   |   122 +
 sdks/go/pkg/beam/core/runtime/coderx/string.go     |     2 +
 sdks/go/pkg/beam/core/runtime/exec/coder.go        |    33 +
 sdks/go/pkg/beam/core/runtime/exec/coder_test.go   |     3 +
 sdks/go/pkg/beam/core/runtime/exec/datasource.go   |   105 +-
 .../pkg/beam/core/runtime/exec/datasource_test.go  |   135 +-
 sdks/go/pkg/beam/core/runtime/exec/hash.go         |     5 +-
 sdks/go/pkg/beam/core/runtime/exec/plan.go         |    14 +-
 sdks/go/pkg/beam/core/runtime/exec/translate.go    |     5 +-
 sdks/go/pkg/beam/core/runtime/exec/util.go         |     4 +-
 sdks/go/pkg/beam/core/runtime/graphx/coder.go      |    59 +-
 sdks/go/pkg/beam/core/runtime/graphx/coder_test.go |    21 +
 sdks/go/pkg/beam/core/runtime/graphx/dataflow.go   |    57 +-
 sdks/go/pkg/beam/core/runtime/graphx/serialize.go  |   260 +-
 .../pkg/beam/core/runtime/graphx/serialize_test.go |     6 +-
 sdks/go/pkg/beam/core/runtime/graphx/translate.go  |    29 +-
 .../pkg/beam/core/runtime/graphx/translate_test.go |     9 +-
 sdks/go/pkg/beam/core/runtime/graphx/user.go       |     6 +-
 sdks/go/pkg/beam/core/runtime/harness/datamgr.go   |   128 +-
 .../pkg/beam/core/runtime/harness/datamgr_test.go  |    73 +-
 sdks/go/pkg/beam/core/runtime/harness/harness.go   |    10 +-
 sdks/go/pkg/beam/core/runtime/pipelinex/clone.go   |    42 +-
 .../pkg/beam/core/runtime/pipelinex/clone_test.go  |     6 +-
 sdks/go/pkg/beam/internal/errors/errors.go         |     9 +-
 sdks/go/pkg/beam/io/synthetic/source.go            |     5 +
 sdks/go/pkg/beam/io/synthetic/step.go              |    11 +-
 sdks/go/pkg/beam/pardo.go                          |    49 +-
 sdks/go/pkg/beam/pardo_test.go                     |    62 +
 sdks/go/pkg/beam/runners/dataflow/dataflow.go      |    12 +
 .../beam/runners/dataflow/dataflowlib/execute.go   |     4 +-
 .../pkg/beam/runners/dataflow/dataflowlib/fixup.go |     4 +-
 sdks/go/pkg/beam/testing/passert/count.go          |    66 +
 sdks/go/pkg/beam/testing/passert/count_test.go     |    45 +
 sdks/go/pkg/beam/testing/passert/passert.go        |     2 +-
 sdks/go/pkg/beam/testing/passert/passert.shims.go  |   156 +
 sdks/go/pkg/beam/testing/passert/sum.go            |     6 +-
 sdks/go/pkg/beam/transforms/stats/count.go         |    28 +-
 sdks/go/pkg/beam/transforms/stats/count_test.go    |    51 +
 sdks/go/pkg/beam/transforms/stats/stats.shims.go   |    30 +-
 sdks/go/pkg/beam/transforms/stats/util_gen.go      |     2 +-
 sdks/go/pkg/beam/transforms/stats/util_gen.tmpl    |     2 +-
 sdks/go/test/integration/driver.go                 |     3 +
 sdks/go/test/integration/synthetic/synthetic.go    |    64 +
 sdks/go/test/run_integration_tests.sh              |     6 +
 .../src/main/resources/beam/checkstyle.xml         |     8 +
 .../src/main/resources/beam/suppressions.xml       |    16 +
 sdks/java/container/boot.go                        |     6 +-
 .../container/license_scripts/license_script.sh    |     2 +-
 sdks/java/core/build.gradle                        |     4 +-
 .../java/org/apache/beam/sdk/io/TextSource.java    |     2 +-
 .../java/org/apache/beam/sdk/io/range/ByteKey.java |     4 +-
 .../org/apache/beam/sdk/metrics/MetricKey.java     |     2 +-
 .../org/apache/beam/sdk/metrics/MetricName.java    |    22 +-
 .../org/apache/beam/sdk/transforms/Combine.java    |    25 +-
 .../java/org/apache/beam/sdk/transforms/DoFn.java  |     8 +-
 .../org/apache/beam/sdk/transforms/DoFnTester.java |    50 +-
 .../org/apache/beam/sdk/transforms/Partition.java  |    95 +-
 .../java/org/apache/beam/sdk/transforms/Sets.java  |   680 +
 .../java/org/apache/beam/sdk/transforms/View.java  |   152 +-
 .../java/org/apache/beam/sdk/util/RowJson.java     |    35 +-
 .../apache/beam/sdk/values/PCollectionViews.java   |   880 +-
 .../beam/sdk/testing/PCollectionViewTesting.java   |   120 +-
 .../org/apache/beam/sdk/transforms/ParDoTest.java  |    19 +-
 .../apache/beam/sdk/transforms/PartitionTest.java  |    44 +
 .../org/apache/beam/sdk/transforms/SetsTest.java   |   324 +
 .../org/apache/beam/sdk/transforms/ViewTest.java   |     3 +-
 .../java/org/apache/beam/sdk/util/RowJsonTest.java |   136 +
 .../beam/sdk/values/PCollectionViewsTest.java      |   270 +
 sdks/java/extensions/ml/build.gradle               |    16 +-
 .../beam/sdk/extensions/ml/AnnotateImages.java     |   216 +
 .../beam/sdk/extensions/ml/BatchRequestForDLP.java |   113 +
 .../apache/beam/sdk/extensions/ml/CloudVision.java |   322 +
 .../beam/sdk/extensions/ml/DLPDeidentifyText.java  |   282 +
 .../beam/sdk/extensions/ml/DLPInspectText.java     |   240 +
 .../beam/sdk/extensions/ml/DLPReidentifyText.java  |   286 +
 .../beam/sdk/extensions/ml/MapStringToDlpRow.java  |    59 +
 .../beam/sdk/extensions/ml/AnnotateImagesTest.java |    55 +
 .../sdk/extensions/ml/BatchRequestForDlpTest.java  |    63 +
 .../beam/sdk/extensions/ml/CloudVisionIT.java      |    81 +
 .../beam/sdk/extensions/ml/CloudVisionTest.java    |    77 +
 .../sdk/extensions/ml/DLPDeidentifyTextTest.java   |   101 +
 .../beam/sdk/extensions/ml/DLPInspectTextTest.java |   101 +
 .../sdk/extensions/ml/DLPReidentifyTextTest.java   |   101 +
 .../sdk/extensions/ml/DLPTextOperationsIT.java     |   159 +
 .../sdk/extensions/ml/MapStringToDlpRowTest.java   |    69 +
 .../sdk/extensions/ml/VideoIntelligenceIT.java     |    14 +-
 sdks/java/extensions/sql/build.gradle              |     2 +-
 .../beam/sdk/extensions/sql/SqlTransform.java      |     2 +-
 .../extensions/sql/impl/TVFSlidingWindowFn.java    |    75 +
 .../beam/sdk/extensions/sql/impl/UdafImpl.java     |     2 +-
 .../sql/impl/rel/BeamTableFunctionScanRel.java     |   198 +-
 .../sdk/extensions/sql/impl/udaf/StringAgg.java    |    76 +
 .../sdk/extensions/sql/impl/udaf/package-info.java |    20 +
 .../sql/impl/utils/TVFStreamingUtils.java          |     9 +
 .../sql/meta/provider/bigquery/BigQueryTable.java  |    29 +
 .../provider/bigquery/BigQueryReadWriteIT.java     |   251 +
 .../bigquery/BigQueryTableProviderTest.java        |    50 +
 .../extensions/sql/zetasql/BeamZetaSqlCalcRel.java |    93 +-
 .../sdk/extensions/sql/zetasql/SqlAnalyzer.java    |    38 +-
 .../sdk/extensions/sql/zetasql/SqlOperators.java   |    25 +
 .../sql/zetasql/SqlStdOperatorMappingTable.java    |     4 +-
 .../beam/sdk/extensions/sql/zetasql/TestInput.java |    52 +-
 .../beam/sdk/extensions/sql/zetasql/TypeUtils.java |   179 -
 .../extensions/sql/zetasql/ZetaSQLPlannerImpl.java |     1 +
 .../sql/zetasql/ZetaSqlBeamTranslationUtils.java   |   294 +
 .../zetasql/ZetaSqlCalciteTranslationUtils.java    |   173 +
 .../sdk/extensions/sql/zetasql/ZetaSqlUtils.java   |   284 -
 .../translation/AggregateScanConverter.java        |     2 +-
 .../zetasql/translation/ExpressionConverter.java   |   113 +-
 .../extensions/sql/zetasql/StreamingSQLTest.java   |   550 +
 .../sql/zetasql/ZetaSQLDialectSpecTest.java        |   359 +-
 .../sql/zetasql/ZetaSQLPushDownTest.java           |    10 +-
 .../extensions/sql/zetasql/ZetaSQLTestBase.java    |   122 +
 .../extensions/sql/zetasql/ZetaSqlUtilsTest.java   |    72 +-
 .../beam/fn/harness/BeamFnDataReadRunner.java      |     4 +-
 .../apache/beam/fn/harness/FnApiDoFnRunner.java    |   299 +-
 .../org/apache/beam/fn/harness/HandlesSplits.java  |    11 +-
 .../fn/harness/control/BundleSplitListener.java    |    12 +-
 .../beam/fn/harness/state/FnApiStateAccessor.java  |    82 +-
 .../beam/fn/harness/state/IterableSideInput.java   |    73 +
 .../beam/fn/harness/state/SideInputSpec.java       |    10 +-
 .../beam/fn/harness/BeamFnDataReadRunnerTest.java  |    20 +-
 .../beam/fn/harness/FnApiDoFnRunnerTest.java       |   742 +-
 .../harness/control/BundleSplitListenerTest.java   |     7 +-
 .../apache/beam/sdk/io/cassandra/CassandraIO.java  |   147 +-
 .../elasticsearch-tests-7/build.gradle             |     2 +-
 .../beam/sdk/io/gcp/bigquery/BatchLoads.java       |     4 +-
 .../beam/sdk/io/gcp/bigquery/BigQueryIO.java       |    19 +-
 .../beam/sdk/io/gcp/bigtable/BigtableIO.java       |    18 +-
 .../beam/sdk/io/gcp/datastore/DatastoreIO.java     |     6 +-
 .../beam/sdk/io/gcp/datastore/DatastoreV1.java     |    12 +-
 .../apache/beam/sdk/io/gcp/healthcare/FhirIO.java  |    10 +-
 .../beam/sdk/io/gcp/healthcare/HL7v2Message.java   |    52 +-
 .../io/gcp/healthcare/HttpHealthcareApiClient.java |    17 +-
 .../beam/sdk/io/gcp/pubsub/PubsubGrpcClient.java   |     2 +-
 .../java/org/apache/beam/sdk/io/jdbc/JdbcIO.java   |   112 +-
 .../org/apache/beam/sdk/io/jdbc/JdbcIOTest.java    |    96 +
 .../sdk/io/redis/RedisConnectionConfiguration.java |    72 +-
 .../java/org/apache/beam/sdk/io/redis/RedisIO.java |   111 +-
 sdks/java/io/splunk/build.gradle                   |    39 +
 .../beam/sdk/io/splunk/HttpEventPublisher.java     |   346 +
 .../org/apache/beam/sdk/io/splunk/SplunkEvent.java |   162 +
 .../beam/sdk/io/splunk/SplunkEventWriter.java      |   395 +
 .../org/apache/beam/sdk/io/splunk/SplunkIO.java    |   312 +
 .../beam/sdk/io/splunk/SplunkWriteError.java       |   103 +
 .../apache/beam/sdk/io/splunk/package-info.java    |    28 +
 .../beam/sdk/io/splunk/HttpEventPublisherTest.java |   160 +
 .../apache/beam/sdk/io/splunk/SplunkEventTest.java |    70 +
 .../beam/sdk/io/splunk/SplunkEventWriterTest.java  |   277 +
 .../apache/beam/sdk/io/splunk/SplunkIOTest.java    |   197 +
 .../beam/sdk/io/splunk/SplunkWriteErrorTest.java   |    58 +
 sdks/java/io/thrift/build.gradle                   |     2 +-
 sdks/java/javadoc/build.gradle                     |     1 -
 .../src/main/resources/archetype-resources/pom.xml |    57 -
 sdks/java/testing/kafka-service/build.gradle       |    61 +
 .../apache/beam/sdk/testing/kafka/LocalKafka.java  |    59 +
 .../beam/sdk/testing/kafka/LocalZookeeper.java     |    56 +
 .../src/test/resources/log4j.properties            |    23 +
 sdks/java/testing/load-tests/build.gradle          |     3 +-
 sdks/java/testing/nexmark/build.gradle             |     4 +-
 .../apache/beam/sdk/nexmark/NexmarkLauncher.java   |    50 +-
 .../apache/beam/sdk/nexmark/NexmarkOptions.java    |     9 +-
 .../queries/sql/SqlBoundedSideInputJoin.java       |    72 +-
 .../beam/sdk/nexmark/queries/sql/SqlQuery0.java    |    20 +-
 .../beam/sdk/nexmark/queries/sql/SqlQuery2.java    |    26 +-
 .../beam/sdk/nexmark/queries/sql/SqlQuery3.java    |    71 +-
 .../nexmark/src/main/resources/log4j.properties    |     8 -
 .../apache/beam/sdk/nexmark/queries/QueryTest.java |    72 -
 .../beam/sdk/nexmark/queries/SqlQueryTest.java     |   230 +
 .../queries/sql/SqlBoundedSideInputJoinTest.java   |   303 +-
 .../sdk/nexmark/queries/sql/SqlQuery0Test.java     |    56 +-
 .../sdk/nexmark/queries/sql/SqlQuery2Test.java     |    44 +-
 .../sdk/nexmark/queries/sql/SqlQuery3Test.java     |    35 +-
 sdks/java/testing/test-utils/build.gradle          |     2 -
 sdks/python/apache_beam/__init__.py                |     3 +
 sdks/python/apache_beam/coders/row_coder.py        |    19 +-
 sdks/python/apache_beam/coders/row_coder_test.py   |    22 +-
 sdks/python/apache_beam/dataframe/convert.py       |    41 +-
 sdks/python/apache_beam/dataframe/doctests.py      |    77 +-
 sdks/python/apache_beam/dataframe/doctests_test.py |    24 +-
 sdks/python/apache_beam/dataframe/expressions.py   |    58 +-
 sdks/python/apache_beam/dataframe/frame_base.py    |    17 +-
 sdks/python/apache_beam/dataframe/frames.py        |    53 +-
 sdks/python/apache_beam/dataframe/frames_test.py   |     1 +
 sdks/python/apache_beam/dataframe/partitionings.py |   141 +
 .../apache_beam/dataframe/partitionings_test.py    |    86 +
 sdks/python/apache_beam/dataframe/transforms.py    |    88 +-
 .../apache_beam/dataframe/transforms_test.py       |     5 +
 .../apache_beam/examples/fastavro_it_test.py       |     1 +
 .../apache_beam/examples/snippets/snippets.py      |   162 +-
 .../transforms/aggregation/groupintobatches.py     |    46 +
 .../aggregation/groupintobatches_test.py           |    56 +
 .../apache_beam/examples/wordcount_debugging.py    |     1 +
 .../apache_beam/examples/wordcount_it_test.py      |    39 +-
 .../apache_beam/examples/wordcount_minimal.py      |    16 +-
 sdks/python/apache_beam/io/external/kafka.py       |    87 +-
 .../io/external/xlang_kafkaio_it_test.py           |   137 +
 .../io/gcp/big_query_query_to_table_it_test.py     |    31 +-
 .../io/gcp/big_query_query_to_table_pipeline.py    |     9 +
 sdks/python/apache_beam/io/gcp/bigquery.py         |   121 +-
 .../apache_beam/io/gcp/bigquery_avro_tools.py      |     7 +
 .../apache_beam/io/gcp/bigquery_avro_tools_test.py |    95 +-
 .../apache_beam/io/gcp/bigquery_file_loads.py      |    10 +-
 .../apache_beam/io/gcp/bigquery_read_it_test.py    |    29 +-
 sdks/python/apache_beam/io/gcp/bigquery_tools.py   |    11 +-
 sdks/python/apache_beam/io/gcp/pubsub.py           |     2 -
 .../ml/gcp/videointelligenceml_test_it.py          |     4 +-
 sdks/python/apache_beam/pipeline.py                |     3 +-
 sdks/python/apache_beam/pvalue.py                  |    20 +
 .../runners/dataflow/dataflow_runner.py            |    43 +-
 .../runners/dataflow/dataflow_runner_test.py       |    67 +
 .../apache_beam/runners/dataflow/internal/names.py |     4 +-
 .../runners/dataflow/ptransform_overrides.py       |   136 +
 .../apache_beam/runners/direct/direct_runner.py    |    20 +-
 .../apache_beam/runners/direct/test_stream_impl.py |    15 +-
 .../interactive/caching/streaming_cache_test.py    |     7 +-
 .../runners/interactive/pipeline_instrument.py     |     7 +-
 .../interactive/pipeline_instrument_test.py        |    30 +-
 .../Darwin/7a35f487b2a5f3a9b9852a8659eeb4bd.png    |   Bin 762141 -> 748447 bytes
 .../Linux/7a35f487b2a5f3a9b9852a8659eeb4bd.png     |   Bin 717124 -> 716205 bytes
 .../runners/portability/abstract_job_service.py    |     5 +-
 .../runners/portability/artifact_service.py        |   303 +-
 .../runners/portability/artifact_service_test.py   |   212 -
 .../runners/portability/expansion_service_test.py  |     4 +-
 .../runners/portability/flink_runner_test.py       |    20 +-
 .../portability/flink_uber_jar_job_server_test.py  |     4 +-
 .../runners/portability/fn_api_runner/execution.py |    57 +-
 .../runners/portability/fn_api_runner/fn_runner.py |    17 +-
 .../portability/fn_api_runner/fn_runner_test.py    |     5 -
 .../portability/fn_api_runner/translations.py      |    55 +-
 .../portability/fn_api_runner/worker_handlers.py   |    46 +-
 .../runners/portability/local_job_service.py       |    30 +-
 .../runners/portability/portable_runner.py         |    65 +-
 .../runners/portability/portable_stager.py         |   117 -
 .../runners/portability/portable_stager_test.py    |   175 -
 .../apache_beam/runners/worker/bundle_processor.py |    42 +-
 .../apache_beam/runners/worker/data_plane.py       |     2 +
 .../apache_beam/runners/worker/data_plane_test.py  |     4 +-
 .../apache_beam/runners/worker/log_handler_test.py |     4 +-
 .../apache_beam/runners/worker/sdk_worker.py       |   103 +-
 .../apache_beam/runners/worker/sdk_worker_test.py  |   135 +-
 .../apache_beam/runners/worker/statecache.py       |    21 -
 .../apache_beam/runners/worker/statecache_test.py  |    46 +-
 .../apache_beam/runners/worker/worker_pool_main.py |     5 +-
 .../runners/worker/worker_status_test.py           |     4 +-
 .../testing/load_tests/load_test_metrics_utils.py  |    15 +
 sdks/python/apache_beam/testing/test_stream.py     |     4 +-
 sdks/python/apache_beam/transforms/combiners.py    |    15 +-
 .../apache_beam/transforms/combiners_test.py       |    15 +
 sdks/python/apache_beam/transforms/core.py         |     2 +-
 sdks/python/apache_beam/transforms/external.py     |    40 +-
 .../apache_beam/transforms/ptransform_test.py      |    33 +-
 sdks/python/apache_beam/transforms/sql_test.py     |     9 +
 sdks/python/apache_beam/transforms/trigger.py      |    76 +-
 sdks/python/apache_beam/transforms/trigger_test.py |    60 +
 sdks/python/apache_beam/transforms/util.py         |    53 +-
 sdks/python/apache_beam/transforms/util_test.py    |     6 +
 .../typehints/native_type_compatibility.py         |     2 +-
 .../typehints/native_type_compatibility_test.py    |    16 +-
 sdks/python/apache_beam/typehints/opcodes.py       |    18 +-
 sdks/python/apache_beam/typehints/row_type.py      |    53 +
 sdks/python/apache_beam/typehints/schemas.py       |     9 +
 .../apache_beam/typehints/trivial_inference.py     |    32 +-
 .../typehints/trivial_inference_test.py            |    27 +
 sdks/python/apache_beam/utils/subprocess_server.py |    11 +-
 .../apache_beam/utils/thread_pool_executor.py      |    13 +
 .../apache_beam/utils/thread_pool_executor_test.py |    15 +
 sdks/python/container/base_image_requirements.txt  |     5 +-
 sdks/python/container/boot.go                      |    12 +-
 .../container/license_scripts/pull_licenses_py.py  |    11 +-
 sdks/python/mypy.ini                               |     3 -
 sdks/python/scripts/run_expansion_services.sh      |    16 +-
 sdks/python/scripts/run_job_server.sh              |    13 +-
 sdks/python/setup.py                               |     7 +-
 sdks/python/test-suites/dataflow/common.gradle     |    93 +-
 sdks/python/test-suites/dataflow/py2/build.gradle  |   153 +-
 sdks/python/test-suites/dataflow/py37/build.gradle |    66 -
 sdks/python/test-suites/portable/common.gradle     |    32 +
 settings.gradle                                    |     4 +-
 website/www/site/config.toml                       |     2 +-
 website/www/site/content/en/blog/beam-2.21.0.md    |     8 +-
 website/www/site/content/en/blog/beam-2.22.0.md    |    53 +
 .../content/en/blog/beam-katas-kotlin-release.md   |    61 +
 website/www/site/content/en/blog/python-typing.md  |   136 +
 website/www/site/content/en/community/mascot.md    |    51 +
 website/www/site/content/en/contribute/_index.md   |     2 +-
 .../site/content/en/contribute/jira-priorities.md  |    35 +-
 .../en/contribute/precommit-triage-guide.md        |     2 +-
 .../en/contribute/ptransform-style-guide.md        |     2 +-
 .../site/content/en/contribute/release-guide.md    |   105 +-
 .../www/site/content/en/documentation/_index.md    |     2 -
 .../content/en/documentation/dsls/sql/overview.md  |     2 +-
 .../site/content/en/documentation/io/built-in.md   |     4 -
 .../en/documentation/patterns/ai-platform.md       |   216 +
 .../content/en/documentation/patterns/overview.md  |     4 +
 .../content/en/documentation/programming-guide.md  |   224 +-
 .../site/content/en/documentation/runners/apex.md  |    77 -
 .../site/content/en/documentation/runners/flink.md |   361 +-
 .../content/en/documentation/runners/gearpump.md   |   141 -
 .../site/content/en/documentation/runners/spark.md |     2 +-
 .../en/documentation/sdks/java/testing/nexmark.md  |    63 +-
 .../en/documentation/sdks/python-streaming.md      |     4 -
 .../site/content/en/get-started/beam-overview.md   |     4 +-
 .../www/site/content/en/get-started/downloads.md   |    13 +-
 .../site/content/en/get-started/quickstart-java.md |   109 +-
 .../site/content/en/get-started/quickstart-py.md   |     9 +-
 .../content/en/get-started/wordcount-example.md    |    48 -
 website/www/site/content/en/roadmap/apex-runner.md |    23 -
 .../content/en/roadmap/connectors-multi-sdk.md     |    22 +-
 .../www/site/content/en/roadmap/gearpump-runner.md |    23 -
 website/www/site/data/authors.yml                  |     7 +
 website/www/site/data/capability_matrix.yaml       |   244 -
 website/www/site/data/io_matrix.yaml               |    16 +-
 website/www/site/data/works_with.yaml              |     8 +-
 .../partials/section-menu/en/community.html        |     1 +
 .../partials/section-menu/en/documentation.html    |    27 +-
 .../layouts/partials/section-menu/en/roadmap.html  |     2 -
 .../layouts/partials/section-menu/en/runners.html  |     2 -
 .../shortcodes/flink_java_pipeline_options.html    |     5 +
 .../shortcodes/flink_python_pipeline_options.html  |     5 +
 website/www/site/static/.htaccess                  |     2 +-
 .../beam-katas-kotlin-release/beam-and-kotlin.png  |   Bin 0 -> 81087 bytes
 .../beam-katas-in-edutools.png                     |   Bin 0 -> 46768 bytes
 .../www/site/static/images/mascot/beam_mascot.ai   |  3634 +++
 .../www/site/static/images/mascot/beam_mascot.jpg  |   Bin 0 -> 1053750 bytes
 .../www/site/static/images/mascot/beam_mascot.svg  | 11424 ++++++++
 .../static/images/mascot/beam_mascot_1000x1000.png |   Bin 0 -> 84829 bytes
 .../static/images/mascot/beam_mascot_100x100.png   |   Bin 0 -> 6812 bytes
 .../static/images/mascot/beam_mascot_200x200.png   |   Bin 0 -> 14680 bytes
 .../static/images/mascot/beam_mascot_500x500.png   |   Bin 0 -> 38531 bytes
 website/www/site/static/images/mascot/big_data.ai  |  3716 +++
 website/www/site/static/images/mascot/big_data.jpg |   Bin 0 -> 4429075 bytes
 website/www/site/static/images/mascot/big_data.png |   Bin 0 -> 26666 bytes
 website/www/site/static/images/mascot/big_data.svg | 12004 ++++++++
 .../static/images/mascot/big_data_1000x1000.png    |   Bin 0 -> 424070 bytes
 .../site/static/images/mascot/big_data_200x200.png |   Bin 0 -> 63012 bytes
 .../site/static/images/mascot/big_data_500x500.png |   Bin 0 -> 193203 bytes
 .../static/images/mascot/learning_independently.ai |  5418 ++++
 .../images/mascot/learning_independently.jpg       |   Bin 0 -> 3011164 bytes
 .../images/mascot/learning_independently.svg       |  3301 +++
 .../mascot/learning_independently_1000x1000.png    |   Bin 0 -> 463014 bytes
 .../mascot/learning_independently_100x100.png      |   Bin 0 -> 30659 bytes
 .../mascot/learning_independently_200x200.png      |   Bin 0 -> 65257 bytes
 .../mascot/learning_independently_500x500.png      |   Bin 0 -> 197924 bytes
 .../www/site/static/images/mascot/model_sheet.ai   | 13264 +++++++++
 .../www/site/static/images/mascot/model_sheet.jpg  |   Bin 0 -> 1297147 bytes
 .../www/site/static/images/mascot/model_sheet.png  |   Bin 0 -> 491263 bytes
 .../www/site/static/images/mascot/model_sheet.svg  | 28499 +++++++++++++++++++
 957 files changed, 121889 insertions(+), 17451 deletions(-)
 create mode 100644 .test-infra/jenkins/job_PostCommit_BeamMetrics_Publish.groovy
 delete mode 100644 .test-infra/jenkins/job_PostCommit_Java_ValidatesRunner_Apex.groovy
 delete mode 100644 .test-infra/jenkins/job_PostCommit_Java_ValidatesRunner_Gearpump.groovy
 delete mode 100644 .test-infra/metrics/beam-grafana-etcdata-persistentvolumeclaim.yaml
 delete mode 100644 .test-infra/metrics/beam-grafana-libdata-persistentvolumeclaim.yaml
 delete mode 100644 .test-infra/metrics/beam-grafana-logdata-persistentvolumeclaim.yaml
 delete mode 100644 .test-infra/metrics/beam-influxdb-autobackup.yaml
 delete mode 100644 .test-infra/metrics/beam-influxdb-backups-persistentvolumeclaim.yaml
 delete mode 100644 .test-infra/metrics/beam-influxdb-storage-persistentvolumeclaim.yaml
 delete mode 100644 .test-infra/metrics/beam-influxdb.yaml
 delete mode 100644 .test-infra/metrics/beam-postgresql-data-persistentvolumeclaim.yaml
 delete mode 100644 .test-infra/metrics/beamgrafana-deploy.yaml
 create mode 100644 .test-infra/metrics/grafana/dashboards/perftests_metrics/Nexmark.json
 create mode 100644 .test-infra/metrics/grafana/dashboards/perftests_metrics/Nexmark_SQL.json
 create mode 100644 .test-infra/metrics/grafana/dashboards/perftests_metrics/Nexmark_SQL_output_size.json
 create mode 100644 .test-infra/metrics/grafana/dashboards/perftests_metrics/Nexmark_Spark_Classic_Standard_SQL.json
 create mode 100644 .test-infra/metrics/grafana/dashboards/perftests_metrics/Nexmark_output_size.json
 create mode 100644 .test-infra/metrics/grafana/dashboards/perftests_metrics/Python_WordCount_IT_Benchmarks.json
 create mode 100644 .test-infra/metrics/kubernetes/beam-grafana-etcdata-persistentvolumeclaim.yaml
 create mode 100644 .test-infra/metrics/kubernetes/beam-grafana-libdata-persistentvolumeclaim.yaml
 create mode 100644 .test-infra/metrics/kubernetes/beam-grafana-logdata-persistentvolumeclaim.yaml
 create mode 100644 .test-infra/metrics/kubernetes/beam-influxdb-autobackup.yaml
 create mode 100644 .test-infra/metrics/kubernetes/beam-influxdb-backups-persistentvolumeclaim.yaml
 create mode 100644 .test-infra/metrics/kubernetes/beam-influxdb-storage-persistentvolumeclaim.yaml
 create mode 100644 .test-infra/metrics/kubernetes/beam-influxdb.yaml
 create mode 100644 .test-infra/metrics/kubernetes/beam-postgresql-data-persistentvolumeclaim.yaml
 create mode 100644 .test-infra/metrics/kubernetes/beamgrafana-deploy.yaml
 create mode 100644 examples/kotlin/src/test/java/org/apache/beam/examples/kotlin/cookbook/DistinctExampleTest.kt
 create mode 100644 examples/kotlin/src/test/java/org/apache/beam/examples/kotlin/cookbook/FilterExamplesTest.kt
 create mode 100644 examples/kotlin/src/test/java/org/apache/beam/examples/kotlin/cookbook/JoinExamplesTest.kt
 create mode 100644 examples/kotlin/src/test/java/org/apache/beam/examples/kotlin/cookbook/MaxPerKeyExamplesTest.kt
 create mode 100644 learning/katas/go/Core Transforms/CoGroupByKey/CoGroupByKey/cmd/main.go
 create mode 100644 learning/katas/go/Core Transforms/CoGroupByKey/CoGroupByKey/go.mod
 create mode 100644 learning/katas/go/Core Transforms/CoGroupByKey/CoGroupByKey/go.sum
 create mode 100644 learning/katas/go/Core Transforms/CoGroupByKey/CoGroupByKey/pkg/task/task.go
 create mode 100644 learning/katas/go/Core Transforms/CoGroupByKey/CoGroupByKey/task-info.yaml
 create mode 100644 learning/katas/go/Core Transforms/CoGroupByKey/CoGroupByKey/task-remote-info.yaml
 create mode 100644 learning/katas/go/Core Transforms/CoGroupByKey/CoGroupByKey/task.md
 create mode 100644 learning/katas/go/Core Transforms/CoGroupByKey/CoGroupByKey/test/task_test.go
 copy learning/katas/{python => go}/Core Transforms/CoGroupByKey/lesson-info.yaml (100%)
 create mode 100644 learning/katas/go/Core Transforms/CoGroupByKey/lesson-remote-info.yaml
 create mode 100644 learning/katas/go/Core Transforms/Combine/Combine PerKey/cmd/main.go
 create mode 100644 learning/katas/go/Core Transforms/Combine/Combine PerKey/go.mod
 create mode 100644 learning/katas/go/Core Transforms/Combine/Combine PerKey/go.sum
 create mode 100644 learning/katas/go/Core Transforms/Combine/Combine PerKey/pkg/task/task.go
 create mode 100644 learning/katas/go/Core Transforms/Combine/Combine PerKey/task-info.yaml
 create mode 100644 learning/katas/go/Core Transforms/Combine/Combine PerKey/task-remote-info.yaml
 create mode 100644 learning/katas/go/Core Transforms/Combine/Combine PerKey/task.md
 create mode 100644 learning/katas/go/Core Transforms/Combine/Combine PerKey/test/task_test.go
 create mode 100644 learning/katas/go/Core Transforms/Combine/CombineFn/cmd/main.go
 create mode 100644 learning/katas/go/Core Transforms/Combine/CombineFn/go.mod
 create mode 100644 learning/katas/go/Core Transforms/Combine/CombineFn/go.sum
 create mode 100644 learning/katas/go/Core Transforms/Combine/CombineFn/pkg/task/task.go
 create mode 100644 learning/katas/go/Core Transforms/Combine/CombineFn/task-info.yaml
 create mode 100644 learning/katas/go/Core Transforms/Combine/CombineFn/task-remote-info.yaml
 create mode 100644 learning/katas/go/Core Transforms/Combine/CombineFn/task.md
 create mode 100644 learning/katas/go/Core Transforms/Combine/CombineFn/test/task_test.go
 create mode 100644 learning/katas/go/Core Transforms/Combine/Simple Function/cmd/main.go
 create mode 100644 learning/katas/go/Core Transforms/Combine/Simple Function/go.mod
 create mode 100644 learning/katas/go/Core Transforms/Combine/Simple Function/go.sum
 create mode 100644 learning/katas/go/Core Transforms/Combine/Simple Function/pkg/task/task.go
 create mode 100644 learning/katas/go/Core Transforms/Combine/Simple Function/task-info.yaml
 create mode 100644 learning/katas/go/Core Transforms/Combine/Simple Function/task-remote-info.yaml
 create mode 100644 learning/katas/go/Core Transforms/Combine/Simple Function/task.md
 create mode 100644 learning/katas/go/Core Transforms/Combine/Simple Function/test/task_test.go
 copy learning/katas/{python => go}/Core Transforms/Combine/lesson-info.yaml (100%)
 create mode 100644 learning/katas/go/Core Transforms/Combine/lesson-remote-info.yaml
 create mode 100644 learning/katas/go/Core Transforms/Flatten/Flatten/cmd/main.go
 create mode 100644 learning/katas/go/Core Transforms/Flatten/Flatten/go.mod
 create mode 100644 learning/katas/go/Core Transforms/Flatten/Flatten/go.sum
 create mode 100644 learning/katas/go/Core Transforms/Flatten/Flatten/pkg/task/task.go
 create mode 100644 learning/katas/go/Core Transforms/Flatten/Flatten/task-info.yaml
 create mode 100644 learning/katas/go/Core Transforms/Flatten/Flatten/task-remote-info.yaml
 create mode 100644 learning/katas/go/Core Transforms/Flatten/Flatten/task.md
 create mode 100644 learning/katas/go/Core Transforms/Flatten/Flatten/test/task_test.go
 create mode 100644 learning/katas/go/Core Transforms/Flatten/lesson-info.yaml
 create mode 100644 learning/katas/go/Core Transforms/Flatten/lesson-remote-info.yaml
 create mode 100644 learning/katas/go/Core Transforms/Partition/Partition/cmd/main.go
 create mode 100644 learning/katas/go/Core Transforms/Partition/Partition/go.mod
 create mode 100644 learning/katas/go/Core Transforms/Partition/Partition/go.sum
 create mode 100644 learning/katas/go/Core Transforms/Partition/Partition/pkg/task/task.go
 create mode 100644 learning/katas/go/Core Transforms/Partition/Partition/task-info.yaml
 create mode 100644 learning/katas/go/Core Transforms/Partition/Partition/task-remote-info.yaml
 create mode 100644 learning/katas/go/Core Transforms/Partition/Partition/task.md
 create mode 100644 learning/katas/go/Core Transforms/Partition/Partition/test/task_test.go
 copy learning/katas/{python => go}/Core Transforms/Partition/lesson-info.yaml (100%)
 create mode 100644 learning/katas/go/Core Transforms/Partition/lesson-remote-info.yaml
 create mode 100644 learning/katas/go/Core Transforms/Side Input/Side Input/cmd/main.go
 create mode 100644 learning/katas/go/Core Transforms/Side Input/Side Input/go.mod
 create mode 100644 learning/katas/go/Core Transforms/Side Input/Side Input/go.sum
 create mode 100644 learning/katas/go/Core Transforms/Side Input/Side Input/pkg/task/task.go
 create mode 100644 learning/katas/go/Core Transforms/Side Input/Side Input/task-info.yaml
 create mode 100644 learning/katas/go/Core Transforms/Side Input/Side Input/task-remote-info.yaml
 create mode 100644 learning/katas/go/Core Transforms/Side Input/Side Input/task.md
 create mode 100644 learning/katas/go/Core Transforms/Side Input/Side Input/test/task_test.go
 copy learning/katas/{python => go}/Core Transforms/Side Input/lesson-info.yaml (100%)
 create mode 100644 learning/katas/go/Core Transforms/Side Input/lesson-remote-info.yaml
 delete mode 100644 learning/katas/java/Introduction/Hello Beam/Hello Beam/task.md
 create mode 100644 learning/katas/kotlin/Common Transforms/Aggregation/Count/src/org/apache/beam/learning/katas/commontransforms/aggregation/count/Task.kt
 create mode 100644 learning/katas/kotlin/Common Transforms/Aggregation/Count/task-info.yaml
 create mode 100644 learning/katas/kotlin/Common Transforms/Aggregation/Count/task-remote-info.yaml
 copy learning/katas/{java => kotlin}/Common Transforms/Aggregation/Count/task.md (100%)
 create mode 100644 learning/katas/kotlin/Common Transforms/Aggregation/Count/test/org/apache/beam/learning/katas/commontransforms/aggregation/count/TaskTest.kt
 create mode 100644 learning/katas/kotlin/Common Transforms/Aggregation/Max/src/org/apache/beam/learning/katas/commontransforms/aggregation/max/Task.kt
 create mode 100644 learning/katas/kotlin/Common Transforms/Aggregation/Max/task-info.yaml
 create mode 100644 learning/katas/kotlin/Common Transforms/Aggregation/Max/task-remote-info.yaml
 copy learning/katas/{java => kotlin}/Common Transforms/Aggregation/Max/task.md (100%)
 create mode 100644 learning/katas/kotlin/Common Transforms/Aggregation/Max/test/org/apache/beam/learning/katas/commontransforms/aggregation/max/TaskTest.kt
 create mode 100644 learning/katas/kotlin/Common Transforms/Aggregation/Mean/src/org/apache/beam/learning/katas/commontransforms/aggregation/mean/Task.kt
 create mode 100644 learning/katas/kotlin/Common Transforms/Aggregation/Mean/task-info.yaml
 create mode 100644 learning/katas/kotlin/Common Transforms/Aggregation/Mean/task-remote-info.yaml
 copy learning/katas/{java => kotlin}/Common Transforms/Aggregation/Mean/task.md (100%)
 create mode 100644 learning/katas/kotlin/Common Transforms/Aggregation/Mean/test/org/apache/beam/learning/katas/commontransforms/aggregation/mean/TaskTest.kt
 create mode 100644 learning/katas/kotlin/Common Transforms/Aggregation/Min/src/org/apache/beam/learning/katas/commontransforms/aggregation/min/Task.kt
 create mode 100644 learning/katas/kotlin/Common Transforms/Aggregation/Min/task-info.yaml
 create mode 100644 learning/katas/kotlin/Common Transforms/Aggregation/Min/task-remote-info.yaml
 copy learning/katas/{java => kotlin}/Common Transforms/Aggregation/Min/task.md (100%)
 create mode 100644 learning/katas/kotlin/Common Transforms/Aggregation/Min/test/org/apache/beam/learning/katas/commontransforms/aggregation/min/TaskTest.kt
 create mode 100644 learning/katas/kotlin/Common Transforms/Aggregation/Sum/src/org/apache/beam/learning/katas/commontransforms/aggregation/sum/Task.kt
 create mode 100644 learning/katas/kotlin/Common Transforms/Aggregation/Sum/task-info.yaml
 create mode 100644 learning/katas/kotlin/Common Transforms/Aggregation/Sum/task-remote-info.yaml
 copy learning/katas/{java => kotlin}/Common Transforms/Aggregation/Sum/task.md (100%)
 create mode 100644 learning/katas/kotlin/Common Transforms/Aggregation/Sum/test/org/apache/beam/learning/katas/commontransforms/aggregation/sum/TaskTest.kt
 copy learning/katas/{java => kotlin}/Common Transforms/Aggregation/lesson-info.yaml (100%)
 create mode 100644 learning/katas/kotlin/Common Transforms/Aggregation/lesson-remote-info.yaml
 create mode 100644 learning/katas/kotlin/Common Transforms/Filter/Filter/src/org/apache/beam/learning/katas/commontransforms/filter/filter/Task.kt
 create mode 100644 learning/katas/kotlin/Common Transforms/Filter/Filter/task-info.yaml
 create mode 100644 learning/katas/kotlin/Common Transforms/Filter/Filter/task-remote-info.yaml
 copy learning/katas/{java => kotlin}/Common Transforms/Filter/Filter/task.md (100%)
 create mode 100644 learning/katas/kotlin/Common Transforms/Filter/Filter/test/org/apache/beam/learning/katas/commontransforms/filter/filter/TaskTest.kt
 create mode 100644 learning/katas/kotlin/Common Transforms/Filter/ParDo/src/org/apache/beam/learning/katas/commontransforms/filter/pardo/Task.kt
 create mode 100644 learning/katas/kotlin/Common Transforms/Filter/ParDo/task-info.yaml
 create mode 100644 learning/katas/kotlin/Common Transforms/Filter/ParDo/task-remote-info.yaml
 copy learning/katas/{java => kotlin}/Common Transforms/Filter/ParDo/task.md (100%)
 create mode 100644 learning/katas/kotlin/Common Transforms/Filter/ParDo/test/org/apache/beam/learning/katas/commontransforms/filter/pardo/TaskTest.kt
 copy learning/katas/{python => kotlin}/Common Transforms/Filter/lesson-info.yaml (100%)
 create mode 100644 learning/katas/kotlin/Common Transforms/Filter/lesson-remote-info.yaml
 create mode 100644 learning/katas/kotlin/Common Transforms/WithKeys/WithKeys/src/org/apache/beam/learning/katas/commontransforms/withkeys/Task.kt
 create mode 100644 learning/katas/kotlin/Common Transforms/WithKeys/WithKeys/task-info.yaml
 create mode 100644 learning/katas/kotlin/Common Transforms/WithKeys/WithKeys/task-remote-info.yaml
 copy learning/katas/{java => kotlin}/Common Transforms/WithKeys/WithKeys/task.md (100%)
 create mode 100644 learning/katas/kotlin/Common Transforms/WithKeys/WithKeys/test/org/apache/beam/learning/katas/commontransforms/withkeys/TaskTest.kt
 copy learning/katas/{python => kotlin}/Common Transforms/WithKeys/lesson-info.yaml (100%)
 create mode 100644 learning/katas/kotlin/Common Transforms/WithKeys/lesson-remote-info.yaml
 copy learning/katas/{python => kotlin}/Common Transforms/section-info.yaml (100%)
 create mode 100644 learning/katas/kotlin/Common Transforms/section-remote-info.yaml
 create mode 100644 learning/katas/kotlin/Core Transforms/Branching/Branching/src/org/apache/beam/learning/katas/coretransforms/branching/Task.kt
 create mode 100644 learning/katas/kotlin/Core Transforms/Branching/Branching/task-info.yaml
 create mode 100644 learning/katas/kotlin/Core Transforms/Branching/Branching/task-remote-info.yaml
 copy learning/katas/{java => kotlin}/Core Transforms/Branching/Branching/task.md (100%)
 create mode 100644 learning/katas/kotlin/Core Transforms/Branching/Branching/test/org/apache/beam/learning/katas/coretransforms/branching/TaskTest.kt
 copy learning/katas/{python => kotlin}/Core Transforms/Branching/lesson-info.yaml (100%)
 create mode 100644 learning/katas/kotlin/Core Transforms/Branching/lesson-remote-info.yaml
 create mode 100644 learning/katas/kotlin/Core Transforms/CoGroupByKey/CoGroupByKey/src/org/apache/beam/learning/katas/coretransforms/cogroupbykey/Task.kt
 create mode 100644 learning/katas/kotlin/Core Transforms/CoGroupByKey/CoGroupByKey/src/org/apache/beam/learning/katas/coretransforms/cogroupbykey/WordsAlphabet.kt
 create mode 100644 learning/katas/kotlin/Core Transforms/CoGroupByKey/CoGroupByKey/task-info.yaml
 create mode 100644 learning/katas/kotlin/Core Transforms/CoGroupByKey/CoGroupByKey/task-remote-info.yaml
 copy learning/katas/{java => kotlin}/Core Transforms/CoGroupByKey/CoGroupByKey/task.md (100%)
 create mode 100644 learning/katas/kotlin/Core Transforms/CoGroupByKey/CoGroupByKey/test/org/apache/beam/learning/katas/coretransforms/cogroupbykey/TaskTest.kt
 copy learning/katas/{python => kotlin}/Core Transforms/CoGroupByKey/lesson-info.yaml (100%)
 create mode 100644 learning/katas/kotlin/Core Transforms/CoGroupByKey/lesson-remote-info.yaml
 create mode 100644 learning/katas/kotlin/Core Transforms/Combine/BinaryCombineFn Lambda/src/org/apache/beam/learning/katas/coretransforms/combine/binarycombinefnlambda/Task.kt
 create mode 100644 learning/katas/kotlin/Core Transforms/Combine/BinaryCombineFn Lambda/task-info.yaml
 create mode 100644 learning/katas/kotlin/Core Transforms/Combine/BinaryCombineFn Lambda/task-remote-info.yaml
 copy learning/katas/{java => kotlin}/Core Transforms/Combine/BinaryCombineFn Lambda/task.md (100%)
 create mode 100644 learning/katas/kotlin/Core Transforms/Combine/BinaryCombineFn Lambda/test/org/apache/beam/learning/katas/coretransforms/combine/binarycombinefnlambda/TaskTest.kt
 create mode 100644 learning/katas/kotlin/Core Transforms/Combine/BinaryCombineFn/src/org/apache/beam/learning/katas/coretransforms/combine/binarycombinefn/Task.kt
 create mode 100644 learning/katas/kotlin/Core Transforms/Combine/BinaryCombineFn/task-info.yaml
 create mode 100644 learning/katas/kotlin/Core Transforms/Combine/BinaryCombineFn/task-remote-info.yaml
 copy learning/katas/{java => kotlin}/Core Transforms/Combine/BinaryCombineFn/task.md (100%)
 create mode 100644 learning/katas/kotlin/Core Transforms/Combine/BinaryCombineFn/test/org/apache/beam/learning/katas/coretransforms/combine/binarycombinefn/TaskTest.kt
 create mode 100644 learning/katas/kotlin/Core Transforms/Combine/Combine PerKey/src/org/apache/beam/learning/katas/coretransforms/combine/combineperkey/Task.kt
 create mode 100644 learning/katas/kotlin/Core Transforms/Combine/Combine PerKey/task-info.yaml
 create mode 100644 learning/katas/kotlin/Core Transforms/Combine/Combine PerKey/task-remote-info.yaml
 copy learning/katas/{java => kotlin}/Core Transforms/Combine/Combine PerKey/task.md (100%)
 create mode 100644 learning/katas/kotlin/Core Transforms/Combine/Combine PerKey/test/org/apache/beam/learning/katas/coretransforms/combine/combineperkey/TaskTest.kt
 create mode 100644 learning/katas/kotlin/Core Transforms/Combine/CombineFn/src/org/apache/beam/learning/katas/coretransforms/combine/combinefn/Task.kt
 create mode 100644 learning/katas/kotlin/Core Transforms/Combine/CombineFn/task-info.yaml
 create mode 100644 learning/katas/kotlin/Core Transforms/Combine/CombineFn/task-remote-info.yaml
 copy learning/katas/{java => kotlin}/Core Transforms/Combine/CombineFn/task.md (100%)
 create mode 100644 learning/katas/kotlin/Core Transforms/Combine/CombineFn/test/org/apache/beam/learning/katas/coretransforms/combine/combinefn/TaskTest.kt
 create mode 100644 learning/katas/kotlin/Core Transforms/Combine/Simple Function/src/org/apache/beam/learning/katas/coretransforms/combine/simple/Task.kt
 create mode 100644 learning/katas/kotlin/Core Transforms/Combine/Simple Function/task-info.yaml
 create mode 100644 learning/katas/kotlin/Core Transforms/Combine/Simple Function/task-remote-info.yaml
 copy learning/katas/{java => kotlin}/Core Transforms/Combine/Simple Function/task.md (100%)
 create mode 100644 learning/katas/kotlin/Core Transforms/Combine/Simple Function/test/org/apache/beam/learning/katas/coretransforms/combine/simple/TaskTest.kt
 copy learning/katas/{java => kotlin}/Core Transforms/Combine/lesson-info.yaml (100%)
 create mode 100644 learning/katas/kotlin/Core Transforms/Combine/lesson-remote-info.yaml
 create mode 100644 learning/katas/kotlin/Core Transforms/Composite Transform/Composite Transform/src/org/apache/beam/learning/katas/coretransforms/composite/Task.kt
 create mode 100644 learning/katas/kotlin/Core Transforms/Composite Transform/Composite Transform/task-info.yaml
 create mode 100644 learning/katas/kotlin/Core Transforms/Composite Transform/Composite Transform/task-remote-info.yaml
 copy learning/katas/{java => kotlin}/Core Transforms/Composite Transform/Composite Transform/task.md (100%)
 create mode 100644 learning/katas/kotlin/Core Transforms/Composite Transform/Composite Transform/test/org/apache/beam/learning/katas/coretransforms/composite/TaskTest.kt
 copy learning/katas/{python => kotlin}/Core Transforms/Composite Transform/lesson-info.yaml (100%)
 create mode 100644 learning/katas/kotlin/Core Transforms/Composite Transform/lesson-remote-info.yaml
 create mode 100644 learning/katas/kotlin/Core Transforms/DoFn Additional Parameters/DoFn Additional Parameters/src/org/apache/beam/learning/katas/coretransforms/dofnadditionalparams/Task.kt
 create mode 100644 learning/katas/kotlin/Core Transforms/DoFn Additional Parameters/DoFn Additional Parameters/task-info.yaml
 create mode 100644 learning/katas/kotlin/Core Transforms/DoFn Additional Parameters/DoFn Additional Parameters/task-remote-info.yaml
 copy learning/katas/{java => kotlin}/Core Transforms/DoFn Additional Parameters/DoFn Additional Parameters/task.md (100%)
 create mode 100644 learning/katas/kotlin/Core Transforms/DoFn Additional Parameters/DoFn Additional Parameters/test/org/apache/beam/learning/katas/coretransforms/dofnadditionalparams/TaskTest.kt
 copy learning/katas/{java => kotlin}/Core Transforms/DoFn Additional Parameters/lesson-info.yaml (100%)
 create mode 100644 learning/katas/kotlin/Core Transforms/DoFn Additional Parameters/lesson-remote-info.yaml
 create mode 100644 learning/katas/kotlin/Core Transforms/Flatten/Flatten/src/org/apache/beam/learning/katas/coretransforms/flatten/Task.kt
 create mode 100644 learning/katas/kotlin/Core Transforms/Flatten/Flatten/task-info.yaml
 create mode 100644 learning/katas/kotlin/Core Transforms/Flatten/Flatten/task-remote-info.yaml
 copy learning/katas/{java => kotlin}/Core Transforms/Flatten/Flatten/task.md (100%)
 create mode 100644 learning/katas/kotlin/Core Transforms/Flatten/Flatten/test/org/apache/beam/learning/katas/coretransforms/flatten/TaskTest.kt
 copy learning/katas/{python => kotlin}/Core Transforms/Flatten/lesson-info.yaml (100%)
 create mode 100644 learning/katas/kotlin/Core Transforms/Flatten/lesson-remote-info.yaml
 create mode 100644 learning/katas/kotlin/Core Transforms/GroupByKey/GroupByKey/src/org/apache/beam/learning/katas/coretransforms/groupbykey/Task.kt
 create mode 100644 learning/katas/kotlin/Core Transforms/GroupByKey/GroupByKey/task-info.yaml
 create mode 100644 learning/katas/kotlin/Core Transforms/GroupByKey/GroupByKey/task-remote-info.yaml
 copy learning/katas/{java => kotlin}/Core Transforms/GroupByKey/GroupByKey/task.md (100%)
 create mode 100644 learning/katas/kotlin/Core Transforms/GroupByKey/GroupByKey/test/org/apache/beam/learning/katas/coretransforms/groupbykey/TaskTest.kt
 copy learning/katas/{python => kotlin}/Core Transforms/GroupByKey/lesson-info.yaml (100%)
 create mode 100644 learning/katas/kotlin/Core Transforms/GroupByKey/lesson-remote-info.yaml
 create mode 100644 learning/katas/kotlin/Core Transforms/Map/FlatMapElements/src/org/apache/beam/learning/katas/coretransforms/map/flatmapelements/Task.kt
 create mode 100644 learning/katas/kotlin/Core Transforms/Map/FlatMapElements/task-info.yaml
 create mode 100644 learning/katas/kotlin/Core Transforms/Map/FlatMapElements/task-remote-info.yaml
 copy learning/katas/{java => kotlin}/Core Transforms/Map/FlatMapElements/task.md (100%)
 create mode 100644 learning/katas/kotlin/Core Transforms/Map/FlatMapElements/test/org/apache/beam/learning/katas/coretransforms/map/flatmapelements/TaskTest.kt
 create mode 100644 learning/katas/kotlin/Core Transforms/Map/MapElements/src/org/apache/beam/learning/katas/coretransforms/map/mapelements/Task.kt
 create mode 100644 learning/katas/kotlin/Core Transforms/Map/MapElements/task-info.yaml
 create mode 100644 learning/katas/kotlin/Core Transforms/Map/MapElements/task-remote-info.yaml
 copy learning/katas/{java => kotlin}/Core Transforms/Map/MapElements/task.md (100%)
 create mode 100644 learning/katas/kotlin/Core Transforms/Map/MapElements/test/org/apache/beam/learning/katas/coretransforms/map/mapelements/TaskTest.kt
 create mode 100644 learning/katas/kotlin/Core Transforms/Map/ParDo OneToMany/src/org/apache/beam/learning/katas/coretransforms/map/pardoonetomany/Task.kt
 create mode 100644 learning/katas/kotlin/Core Transforms/Map/ParDo OneToMany/task-info.yaml
 create mode 100644 learning/katas/kotlin/Core Transforms/Map/ParDo OneToMany/task-remote-info.yaml
 copy learning/katas/{java => kotlin}/Core Transforms/Map/ParDo OneToMany/task.md (100%)
 create mode 100644 learning/katas/kotlin/Core Transforms/Map/ParDo OneToMany/test/org/apache/beam/learning/katas/coretransforms/map/pardoonetomany/TaskTest.kt
 create mode 100644 learning/katas/kotlin/Core Transforms/Map/ParDo/src/org/apache/beam/learning/katas/coretransforms/map/pardo/Task.kt
 create mode 100644 learning/katas/kotlin/Core Transforms/Map/ParDo/task-info.yaml
 create mode 100644 learning/katas/kotlin/Core Transforms/Map/ParDo/task-remote-info.yaml
 copy learning/katas/{java => kotlin}/Core Transforms/Map/ParDo/task.md (100%)
 create mode 100644 learning/katas/kotlin/Core Transforms/Map/ParDo/test/org/apache/beam/learning/katas/coretransforms/map/pardo/TaskTest.kt
 copy learning/katas/{java => kotlin}/Core Transforms/Map/lesson-info.yaml (100%)
 create mode 100644 learning/katas/kotlin/Core Transforms/Map/lesson-remote-info.yaml
 create mode 100644 learning/katas/kotlin/Core Transforms/Partition/Partition/src/org/apache/beam/learning/katas/coretransforms/partition/Task.kt
 create mode 100644 learning/katas/kotlin/Core Transforms/Partition/Partition/task-info.yaml
 create mode 100644 learning/katas/kotlin/Core Transforms/Partition/Partition/task-remote-info.yaml
 copy learning/katas/{java => kotlin}/Core Transforms/Partition/Partition/task.md (100%)
 create mode 100644 learning/katas/kotlin/Core Transforms/Partition/Partition/test/org/apache/beam/learning/katas/coretransforms/partition/TaskTest.kt
 copy learning/katas/{python => kotlin}/Core Transforms/Partition/lesson-info.yaml (100%)
 create mode 100644 learning/katas/kotlin/Core Transforms/Partition/lesson-remote-info.yaml
 create mode 100644 learning/katas/kotlin/Core Transforms/Side Input/Side Input/src/org/apache/beam/learning/katas/coretransforms/sideinput/Person.kt
 create mode 100644 learning/katas/kotlin/Core Transforms/Side Input/Side Input/src/org/apache/beam/learning/katas/coretransforms/sideinput/Task.kt
 copy learning/katas/{java/Core Transforms/Side Input/Side Input => kotlin/Core Transforms/Side Input/Side Input/src}/task.md (100%)
 create mode 100644 learning/katas/kotlin/Core Transforms/Side Input/Side Input/task-info.yaml
 create mode 100644 learning/katas/kotlin/Core Transforms/Side Input/Side Input/task-remote-info.yaml
 copy learning/katas/{java => kotlin}/Core Transforms/Side Input/Side Input/task.md (100%)
 create mode 100644 learning/katas/kotlin/Core Transforms/Side Input/Side Input/test/org/apache/beam/learning/katas/coretransforms/sideinput/TaskTest.kt
 copy learning/katas/{python => kotlin}/Core Transforms/Side Input/lesson-info.yaml (100%)
 create mode 100644 learning/katas/kotlin/Core Transforms/Side Input/lesson-remote-info.yaml
 create mode 100644 learning/katas/kotlin/Core Transforms/Side Output/Side Output/src/org/apache/beam/learning/katas/coretransforms/sideoutput/Task.kt
 copy learning/katas/{java/Core Transforms/Side Output/Side Output => kotlin/Core Transforms/Side Output/Side Output/src}/task.md (100%)
 create mode 100644 learning/katas/kotlin/Core Transforms/Side Output/Side Output/task-info.yaml
 create mode 100644 learning/katas/kotlin/Core Transforms/Side Output/Side Output/task-remote-info.yaml
 copy learning/katas/{java => kotlin}/Core Transforms/Side Output/Side Output/task.md (100%)
 create mode 100644 learning/katas/kotlin/Core Transforms/Side Output/Side Output/test/org/apache/beam/learning/katas/coretransforms/sideoutput/TaskTest.kt
 copy learning/katas/{python => kotlin}/Core Transforms/Side Output/lesson-info.yaml (100%)
 create mode 100644 learning/katas/kotlin/Core Transforms/Side Output/lesson-remote-info.yaml
 copy learning/katas/{java => kotlin}/Core Transforms/section-info.yaml (100%)
 create mode 100644 learning/katas/kotlin/Core Transforms/section-remote-info.yaml
 create mode 100644 learning/katas/kotlin/Examples/Word Count/Word Count/src/org/apache/beam/learning/katas/examples/wordcount/Task.kt
 create mode 100644 learning/katas/kotlin/Examples/Word Count/Word Count/task-info.yaml
 create mode 100644 learning/katas/kotlin/Examples/Word Count/Word Count/task-remote-info.yaml
 copy learning/katas/{java => kotlin}/Examples/Word Count/Word Count/task.md (100%)
 create mode 100644 learning/katas/kotlin/Examples/Word Count/Word Count/test/org/apache/beam/learning/katas/examples/wordcount/TaskTest.kt
 copy learning/katas/{python => kotlin}/Examples/Word Count/lesson-info.yaml (100%)
 create mode 100644 learning/katas/kotlin/Examples/Word Count/lesson-remote-info.yaml
 copy learning/katas/{python => kotlin}/Examples/section-info.yaml (100%)
 create mode 100644 learning/katas/kotlin/Examples/section-remote-info.yaml
 create mode 100644 learning/katas/kotlin/IO/Built-in IOs/Built-in IOs/src/org/apache/beam/learning/katas/io/builtinios/Task.kt
 create mode 100644 learning/katas/kotlin/IO/Built-in IOs/Built-in IOs/task-info.yaml
 create mode 100644 learning/katas/kotlin/IO/Built-in IOs/Built-in IOs/task-remote-info.yaml
 create mode 100644 learning/katas/kotlin/IO/Built-in IOs/Built-in IOs/task.md
 create mode 100644 learning/katas/kotlin/IO/Built-in IOs/Built-in IOs/test/org/apache/beam/learning/katas/io/builtinios/TaskTest.kt
 copy learning/katas/{python => kotlin}/IO/Built-in IOs/lesson-info.yaml (100%)
 create mode 100644 learning/katas/kotlin/IO/Built-in IOs/lesson-remote-info.yaml
 copy learning/katas/{python/IO/TextIO/ReadFromText => kotlin/IO/TextIO/TextIO Read}/countries.txt (100%)
 create mode 100644 learning/katas/kotlin/IO/TextIO/TextIO Read/src/org/apache/beam/learning/katas/io/textio/read/Task.kt
 create mode 100644 learning/katas/kotlin/IO/TextIO/TextIO Read/task-info.yaml
 create mode 100644 learning/katas/kotlin/IO/TextIO/TextIO Read/task-remote-info.yaml
 copy learning/katas/{java => kotlin}/IO/TextIO/TextIO Read/task.md (100%)
 create mode 100644 learning/katas/kotlin/IO/TextIO/TextIO Read/test/org/apache/beam/learning/katas/io/textio/read/TaskTest.kt
 copy learning/katas/{java => kotlin}/IO/TextIO/lesson-info.yaml (100%)
 create mode 100644 learning/katas/kotlin/IO/TextIO/lesson-remote-info.yaml
 copy learning/katas/{python => kotlin}/IO/section-info.yaml (100%)
 create mode 100644 learning/katas/kotlin/IO/section-remote-info.yaml
 create mode 100644 learning/katas/kotlin/Introduction/Hello Beam/Hello Beam/src/org/apache/beam/learning/katas/intro/hello/Task.kt
 create mode 100644 learning/katas/kotlin/Introduction/Hello Beam/Hello Beam/task-info.yaml
 create mode 100644 learning/katas/kotlin/Introduction/Hello Beam/Hello Beam/task-remote-info.yaml
 create mode 100644 learning/katas/kotlin/Introduction/Hello Beam/Hello Beam/task.md
 create mode 100644 learning/katas/kotlin/Introduction/Hello Beam/Hello Beam/test/org/apache/beam/learning/katas/intro/hello/TaskTest.kt
 copy learning/katas/{python => kotlin}/Introduction/Hello Beam/lesson-info.yaml (100%)
 create mode 100644 learning/katas/kotlin/Introduction/Hello Beam/lesson-remote-info.yaml
 copy learning/katas/{python => kotlin}/Introduction/section-info.yaml (100%)
 create mode 100644 learning/katas/kotlin/Introduction/section-remote-info.yaml
 create mode 100644 learning/katas/kotlin/README.md
 create mode 100644 learning/katas/kotlin/Triggers/Early Triggers/Early Triggers/src/org/apache/beam/learning/katas/triggers/earlytriggers/GenerateEvent.kt
 create mode 100644 learning/katas/kotlin/Triggers/Early Triggers/Early Triggers/src/org/apache/beam/learning/katas/triggers/earlytriggers/Task.kt
 create mode 100644 learning/katas/kotlin/Triggers/Early Triggers/Early Triggers/task-info.yaml
 create mode 100644 learning/katas/kotlin/Triggers/Early Triggers/Early Triggers/task-remote-info.yaml
 copy learning/katas/{java => kotlin}/Triggers/Early Triggers/Early Triggers/task.md (100%)
 create mode 100644 learning/katas/kotlin/Triggers/Early Triggers/Early Triggers/test/org/apache/beam/learning/katas/triggers/earlytriggers/TaskTest.kt
 copy learning/katas/{java => kotlin}/Triggers/Early Triggers/lesson-info.yaml (100%)
 create mode 100644 learning/katas/kotlin/Triggers/Early Triggers/lesson-remote-info.yaml
 create mode 100644 learning/katas/kotlin/Triggers/Event Time Triggers/Event Time Triggers/src/org/apache/beam/learning/katas/triggers/eventtimetriggers/GenerateEvent.kt
 create mode 100644 learning/katas/kotlin/Triggers/Event Time Triggers/Event Time Triggers/src/org/apache/beam/learning/katas/triggers/eventtimetriggers/Task.kt
 create mode 100644 learning/katas/kotlin/Triggers/Event Time Triggers/Event Time Triggers/task-info.yaml
 create mode 100644 learning/katas/kotlin/Triggers/Event Time Triggers/Event Time Triggers/task-remote-info.yaml
 copy learning/katas/{java => kotlin}/Triggers/Event Time Triggers/Event Time Triggers/task.md (100%)
 create mode 100644 learning/katas/kotlin/Triggers/Event Time Triggers/Event Time Triggers/test/org/apache/beam/learning/katas/triggers/eventtimetriggers/TaskTest.kt
 copy learning/katas/{java => kotlin}/Triggers/Event Time Triggers/lesson-info.yaml (100%)
 create mode 100644 learning/katas/kotlin/Triggers/Event Time Triggers/lesson-remote-info.yaml
 create mode 100644 learning/katas/kotlin/Triggers/Window Accumulation Mode/Window Accumulation Mode/src/org/apache/beam/learning/katas/triggers/windowaccummode/GenerateEvent.kt
 create mode 100644 learning/katas/kotlin/Triggers/Window Accumulation Mode/Window Accumulation Mode/src/org/apache/beam/learning/katas/triggers/windowaccummode/Task.kt
 create mode 100644 learning/katas/kotlin/Triggers/Window Accumulation Mode/Window Accumulation Mode/task-info.yaml
 create mode 100644 learning/katas/kotlin/Triggers/Window Accumulation Mode/Window Accumulation Mode/task-remote-info.yaml
 copy learning/katas/{java => kotlin}/Triggers/Window Accumulation Mode/Window Accumulation Mode/task.md (100%)
 create mode 100644 learning/katas/kotlin/Triggers/Window Accumulation Mode/Window Accumulation Mode/test/org/apache/beam/learning/katas/triggers/windowaccummode/TaskTest.kt
 copy learning/katas/{java => kotlin}/Triggers/Window Accumulation Mode/lesson-info.yaml (100%)
 create mode 100644 learning/katas/kotlin/Triggers/Window Accumulation Mode/lesson-remote-info.yaml
 copy learning/katas/{java => kotlin}/Triggers/section-info.yaml (100%)
 create mode 100644 learning/katas/kotlin/Triggers/section-remote-info.yaml
 create mode 100644 learning/katas/kotlin/Windowing/Adding Timestamp/ParDo/src/org/apache/beam/learning/katas/windowing/addingtimestamp/pardo/Event.kt
 create mode 100644 learning/katas/kotlin/Windowing/Adding Timestamp/ParDo/src/org/apache/beam/learning/katas/windowing/addingtimestamp/pardo/Task.kt
 create mode 100644 learning/katas/kotlin/Windowing/Adding Timestamp/ParDo/task-info.yaml
 create mode 100644 learning/katas/kotlin/Windowing/Adding Timestamp/ParDo/task-remote-info.yaml
 create mode 100644 learning/katas/kotlin/Windowing/Adding Timestamp/ParDo/task.md
 create mode 100644 learning/katas/kotlin/Windowing/Adding Timestamp/ParDo/test/org/apache/beam/learning/katas/windowing/addingtimestamp/pardo/TaskTest.kt
 create mode 100644 learning/katas/kotlin/Windowing/Adding Timestamp/WithTimestamps/src/org/apache/beam/learning/katas/windowing/addingtimestamp/withtimestamps/Event.kt
 create mode 100644 learning/katas/kotlin/Windowing/Adding Timestamp/WithTimestamps/src/org/apache/beam/learning/katas/windowing/addingtimestamp/withtimestamps/Task.kt
 create mode 100644 learning/katas/kotlin/Windowing/Adding Timestamp/WithTimestamps/task-info.yaml
 create mode 100644 learning/katas/kotlin/Windowing/Adding Timestamp/WithTimestamps/task-remote-info.yaml
 create mode 100644 learning/katas/kotlin/Windowing/Adding Timestamp/WithTimestamps/task.md
 create mode 100644 learning/katas/kotlin/Windowing/Adding Timestamp/WithTimestamps/test/org/apache/beam/learning/katas/windowing/addingtimestamp/withtimestamps/TaskTest.kt
 copy learning/katas/{java => kotlin}/Windowing/Adding Timestamp/lesson-info.yaml (100%)
 create mode 100644 learning/katas/kotlin/Windowing/Adding Timestamp/lesson-remote-info.yaml
 create mode 100644 learning/katas/kotlin/Windowing/Fixed Time Window/Fixed Time Window/src/org/apache/beam/learning/katas/windowing/fixedwindow/Task.kt
 create mode 100644 learning/katas/kotlin/Windowing/Fixed Time Window/Fixed Time Window/task-info.yaml
 create mode 100644 learning/katas/kotlin/Windowing/Fixed Time Window/Fixed Time Window/task-remote-info.yaml
 copy learning/katas/{java => kotlin}/Windowing/Fixed Time Window/Fixed Time Window/task.md (100%)
 create mode 100644 learning/katas/kotlin/Windowing/Fixed Time Window/Fixed Time Window/test/org/apache/beam/learning/katas/windowing/fixedwindow/TaskTest.kt
 create mode 100644 learning/katas/kotlin/Windowing/Fixed Time Window/Fixed Time Window/test/org/apache/beam/learning/katas/windowing/fixedwindow/WindowedEvent.kt
 copy learning/katas/{python => kotlin}/Windowing/Fixed Time Window/lesson-info.yaml (100%)
 create mode 100644 learning/katas/kotlin/Windowing/Fixed Time Window/lesson-remote-info.yaml
 copy learning/katas/{python => kotlin}/Windowing/section-info.yaml (100%)
 create mode 100644 learning/katas/kotlin/Windowing/section-remote-info.yaml
 create mode 100644 learning/katas/kotlin/build.gradle
 create mode 100644 learning/katas/kotlin/course-info.yaml
 create mode 100644 learning/katas/kotlin/course-remote-info.yaml
 copy learning/katas/{java => kotlin}/gradle/wrapper/gradle-wrapper.jar (100%)
 copy learning/katas/{java => kotlin}/gradle/wrapper/gradle-wrapper.properties (100%)
 copy learning/katas/{java => kotlin}/gradlew (100%)
 copy learning/katas/{java => kotlin}/gradlew.bat (100%)
 copy learning/katas/{java => kotlin}/settings.gradle (100%)
 copy learning/katas/{java => kotlin}/util/resources/log4j2.xml (100%)
 create mode 100644 learning/katas/kotlin/util/src/org/apache/beam/learning/katas/util/Log.kt
 create mode 100644 learning/katas/kotlin/util/test/org/apache/beam/learning/katas/util/ContainsKvs.kt
 create mode 100644 learning/katas/kotlin/util/test/org/apache/beam/learning/katas/util/KvMatcher.kt
 delete mode 100644 release/src/main/groovy/quickstart-java-apex.groovy
 delete mode 100644 release/src/main/groovy/quickstart-java-gearpump.groovy
 create mode 100755 release/src/main/scripts/publish_github_release_notes.sh
 delete mode 100644 runners/apex/build.gradle
 delete mode 100644 runners/apex/src/main/java/org/apache/beam/runners/apex/ApexPipelineOptions.java
 delete mode 100644 runners/apex/src/main/java/org/apache/beam/runners/apex/ApexRunner.java
 delete mode 100644 runners/apex/src/main/java/org/apache/beam/runners/apex/ApexRunnerRegistrar.java
 delete mode 100644 runners/apex/src/main/java/org/apache/beam/runners/apex/ApexRunnerResult.java
 delete mode 100644 runners/apex/src/main/java/org/apache/beam/runners/apex/ApexYarnLauncher.java
 delete mode 100644 runners/apex/src/main/java/org/apache/beam/runners/apex/TestApexRunner.java
 delete mode 100644 runners/apex/src/main/java/org/apache/beam/runners/apex/package-info.java
 delete mode 100644 runners/apex/src/main/java/org/apache/beam/runners/apex/translation/ApexPipelineTranslator.java
 delete mode 100644 runners/apex/src/main/java/org/apache/beam/runners/apex/translation/CreateValuesTranslator.java
 delete mode 100644 runners/apex/src/main/java/org/apache/beam/runners/apex/translation/FlattenPCollectionTranslator.java
 delete mode 100644 runners/apex/src/main/java/org/apache/beam/runners/apex/translation/GroupByKeyTranslator.java
 delete mode 100644 runners/apex/src/main/java/org/apache/beam/runners/apex/translation/ParDoTranslator.java
 delete mode 100644 runners/apex/src/main/java/org/apache/beam/runners/apex/translation/ReadUnboundedTranslator.java
 delete mode 100644 runners/apex/src/main/java/org/apache/beam/runners/apex/translation/TransformTranslator.java
 delete mode 100644 runners/apex/src/main/java/org/apache/beam/runners/apex/translation/TranslationContext.java
 delete mode 100644 runners/apex/src/main/java/org/apache/beam/runners/apex/translation/WindowAssignTranslator.java
 delete mode 100644 runners/apex/src/main/java/org/apache/beam/runners/apex/translation/operators/ApexFlattenOperator.java
 delete mode 100644 runners/apex/src/main/java/org/apache/beam/runners/apex/translation/operators/ApexGroupByKeyOperator.java
 delete mode 100644 runners/apex/src/main/java/org/apache/beam/runners/apex/translation/operators/ApexParDoOperator.java
 delete mode 100644 runners/apex/src/main/java/org/apache/beam/runners/apex/translation/operators/ApexProcessFnOperator.java
 delete mode 100644 runners/apex/src/main/java/org/apache/beam/runners/apex/translation/operators/ApexReadUnboundedInputOperator.java
 delete mode 100644 runners/apex/src/main/java/org/apache/beam/runners/apex/translation/operators/ApexTimerInternals.java
 delete mode 100644 runners/apex/src/main/java/org/apache/beam/runners/apex/translation/operators/package-info.java
 delete mode 100644 runners/apex/src/main/java/org/apache/beam/runners/apex/translation/package-info.java
 delete mode 100644 runners/apex/src/main/java/org/apache/beam/runners/apex/translation/utils/ApexStateInternals.java
 delete mode 100644 runners/apex/src/main/java/org/apache/beam/runners/apex/translation/utils/ApexStreamTuple.java
 delete mode 100644 runners/apex/src/main/java/org/apache/beam/runners/apex/translation/utils/CoderAdapterStreamCodec.java
 delete mode 100644 runners/apex/src/main/java/org/apache/beam/runners/apex/translation/utils/NoOpStepContext.java
 delete mode 100644 runners/apex/src/main/java/org/apache/beam/runners/apex/translation/utils/StateInternalsProxy.java
 delete mode 100644 runners/apex/src/main/java/org/apache/beam/runners/apex/translation/utils/ValueAndCoderKryoSerializable.java
 delete mode 100644 runners/apex/src/main/java/org/apache/beam/runners/apex/translation/utils/ValuesSource.java
 delete mode 100644 runners/apex/src/main/java/org/apache/beam/runners/apex/translation/utils/package-info.java
 delete mode 100644 runners/apex/src/test/java/org/apache/beam/runners/apex/ApexRunnerRegistrarTest.java
 delete mode 100644 runners/apex/src/test/java/org/apache/beam/runners/apex/ApexRunnerTest.java
 delete mode 100644 runners/apex/src/test/java/org/apache/beam/runners/apex/ApexYarnLauncherTest.java
 delete mode 100644 runners/apex/src/test/java/org/apache/beam/runners/apex/examples/UnboundedTextSource.java
 delete mode 100644 runners/apex/src/test/java/org/apache/beam/runners/apex/examples/WordCountTest.java
 delete mode 100644 runners/apex/src/test/java/org/apache/beam/runners/apex/examples/package-info.java
 delete mode 100644 runners/apex/src/test/java/org/apache/beam/runners/apex/translation/ApexGroupByKeyOperatorTest.java
 delete mode 100644 runners/apex/src/test/java/org/apache/beam/runners/apex/translation/FlattenPCollectionTranslatorTest.java
 delete mode 100644 runners/apex/src/test/java/org/apache/beam/runners/apex/translation/GroupByKeyTranslatorTest.java
 delete mode 100644 runners/apex/src/test/java/org/apache/beam/runners/apex/translation/ParDoTranslatorTest.java
 delete mode 100644 runners/apex/src/test/java/org/apache/beam/runners/apex/translation/ReadUnboundTranslatorTest.java
 delete mode 100644 runners/apex/src/test/java/org/apache/beam/runners/apex/translation/SideInputTranslationTest.java
 delete mode 100644 runners/apex/src/test/java/org/apache/beam/runners/apex/translation/operators/ApexTimerInternalsTest.java
 delete mode 100644 runners/apex/src/test/java/org/apache/beam/runners/apex/translation/utils/ApexStateInternalsTest.java
 delete mode 100644 runners/apex/src/test/java/org/apache/beam/runners/apex/translation/utils/CollectionSource.java
 delete mode 100644 runners/apex/src/test/resources/beam-runners-apex.properties
 delete mode 100644 runners/apex/src/test/resources/log4j.properties
 delete mode 100644 runners/apex/src/test/resources/words.txt
 create mode 100644 runners/flink/1.10/src/main/java/org/apache/beam/runners/flink/FlinkCapabilities.java
 create mode 100644 runners/flink/1.8/src/main/java/org/apache/beam/runners/flink/FlinkCapabilities.java
 create mode 100644 runners/flink/src/main/java/org/apache/beam/runners/flink/translation/functions/FlinkExplodeWindowsFunction.java
 create mode 100644 runners/flink/src/main/java/org/apache/beam/runners/flink/translation/functions/FlinkNonMergingReduceFunction.java
 create mode 100644 runners/flink/src/main/java/org/apache/beam/runners/flink/translation/functions/SingleWindowFlinkCombineRunner.java
 create mode 100644 runners/flink/src/main/java/org/apache/beam/runners/flink/translation/types/WindowedKvKeySelector.java
 create mode 100644 runners/flink/src/main/java/org/apache/beam/runners/flink/translation/utils/CountingPipelineVisitor.java
 create mode 100644 runners/flink/src/main/java/org/apache/beam/runners/flink/translation/utils/LookupPipelineVisitor.java
 create mode 100644 runners/flink/src/test/java/org/apache/beam/runners/flink/batch/NonMergingGroupByKeyTest.java
 delete mode 100644 runners/gearpump/build.gradle
 delete mode 100644 runners/gearpump/src/main/java/org/apache/beam/runners/gearpump/GearpumpPipelineOptions.java
 delete mode 100644 runners/gearpump/src/main/java/org/apache/beam/runners/gearpump/GearpumpPipelineResult.java
 delete mode 100644 runners/gearpump/src/main/java/org/apache/beam/runners/gearpump/GearpumpRunner.java
 delete mode 100644 runners/gearpump/src/main/java/org/apache/beam/runners/gearpump/GearpumpRunnerRegistrar.java
 delete mode 100644 runners/gearpump/src/main/java/org/apache/beam/runners/gearpump/TestGearpumpRunner.java
 delete mode 100644 runners/gearpump/src/main/java/org/apache/beam/runners/gearpump/package-info.java
 delete mode 100644 runners/gearpump/src/main/java/org/apache/beam/runners/gearpump/translators/CreateGearpumpPCollectionViewTranslator.java
 delete mode 100644 runners/gearpump/src/main/java/org/apache/beam/runners/gearpump/translators/CreateStreamingGearpumpView.java
 delete mode 100644 runners/gearpump/src/main/java/org/apache/beam/runners/gearpump/translators/FlattenPCollectionsTranslator.java
 delete mode 100644 runners/gearpump/src/main/java/org/apache/beam/runners/gearpump/translators/GearpumpPipelineTranslator.java
 delete mode 100644 runners/gearpump/src/main/java/org/apache/beam/runners/gearpump/translators/GroupByKeyTranslator.java
 delete mode 100644 runners/gearpump/src/main/java/org/apache/beam/runners/gearpump/translators/ParDoMultiOutputTranslator.java
 delete mode 100644 runners/gearpump/src/main/java/org/apache/beam/runners/gearpump/translators/ReadBoundedTranslator.java
 delete mode 100644 runners/gearpump/src/main/java/org/apache/beam/runners/gearpump/translators/ReadUnboundedTranslator.java
 delete mode 100644 runners/gearpump/src/main/java/org/apache/beam/runners/gearpump/translators/TransformTranslator.java
 delete mode 100644 runners/gearpump/src/main/java/org/apache/beam/runners/gearpump/translators/TranslationContext.java
 delete mode 100644 runners/gearpump/src/main/java/org/apache/beam/runners/gearpump/translators/WindowAssignTranslator.java
 delete mode 100644 runners/gearpump/src/main/java/org/apache/beam/runners/gearpump/translators/functions/DoFnFunction.java
 delete mode 100644 runners/gearpump/src/main/java/org/apache/beam/runners/gearpump/translators/functions/package-info.java
 delete mode 100644 runners/gearpump/src/main/java/org/apache/beam/runners/gearpump/translators/io/BoundedSourceWrapper.java
 delete mode 100644 runners/gearpump/src/main/java/org/apache/beam/runners/gearpump/translators/io/GearpumpSource.java
 delete mode 100644 runners/gearpump/src/main/java/org/apache/beam/runners/gearpump/translators/io/UnboundedSourceWrapper.java
 delete mode 100644 runners/gearpump/src/main/java/org/apache/beam/runners/gearpump/translators/io/ValuesSource.java
 delete mode 100644 runners/gearpump/src/main/java/org/apache/beam/runners/gearpump/translators/io/package-info.java
 delete mode 100644 runners/gearpump/src/main/java/org/apache/beam/runners/gearpump/translators/package-info.java
 delete mode 100644 runners/gearpump/src/main/java/org/apache/beam/runners/gearpump/translators/utils/DoFnRunnerFactory.java
 delete mode 100644 runners/gearpump/src/main/java/org/apache/beam/runners/gearpump/translators/utils/NoOpStepContext.java
 delete mode 100644 runners/gearpump/src/main/java/org/apache/beam/runners/gearpump/translators/utils/TranslatorUtils.java
 delete mode 100644 runners/gearpump/src/main/java/org/apache/beam/runners/gearpump/translators/utils/package-info.java
 delete mode 100644 runners/gearpump/src/test/java/org/apache/beam/runners/gearpump/GearpumpRunnerRegistrarTest.java
 delete mode 100644 runners/gearpump/src/test/java/org/apache/beam/runners/gearpump/PipelineOptionsTest.java
 delete mode 100644 runners/gearpump/src/test/java/org/apache/beam/runners/gearpump/translators/CreateGearpumpPCollectionViewTranslatorTest.java
 delete mode 100644 runners/gearpump/src/test/java/org/apache/beam/runners/gearpump/translators/FlattenPCollectionsTranslatorTest.java
 delete mode 100644 runners/gearpump/src/test/java/org/apache/beam/runners/gearpump/translators/GroupByKeyTranslatorTest.java
 delete mode 100644 runners/gearpump/src/test/java/org/apache/beam/runners/gearpump/translators/ReadBoundedTranslatorTest.java
 delete mode 100644 runners/gearpump/src/test/java/org/apache/beam/runners/gearpump/translators/ReadUnboundedTranslatorTest.java
 delete mode 100644 runners/gearpump/src/test/java/org/apache/beam/runners/gearpump/translators/WindowAssignTranslatorTest.java
 delete mode 100644 runners/gearpump/src/test/java/org/apache/beam/runners/gearpump/translators/io/GearpumpSourceTest.java
 delete mode 100644 runners/gearpump/src/test/java/org/apache/beam/runners/gearpump/translators/io/ValueSoureTest.java
 delete mode 100644 runners/gearpump/src/test/java/org/apache/beam/runners/gearpump/translators/utils/TranslatorUtilsTest.java
 create mode 100644 sdks/go/pkg/beam/core/graph/coder/stringutf8.go
 create mode 100644 sdks/go/pkg/beam/core/graph/coder/stringutf8_test.go
 create mode 100644 sdks/go/pkg/beam/pardo_test.go
 create mode 100644 sdks/go/pkg/beam/testing/passert/count.go
 create mode 100644 sdks/go/pkg/beam/testing/passert/count_test.go
 create mode 100644 sdks/go/test/integration/synthetic/synthetic.go
 create mode 100644 sdks/java/core/src/main/java/org/apache/beam/sdk/transforms/Sets.java
 create mode 100644 sdks/java/core/src/test/java/org/apache/beam/sdk/transforms/SetsTest.java
 create mode 100644 sdks/java/core/src/test/java/org/apache/beam/sdk/values/PCollectionViewsTest.java
 create mode 100644 sdks/java/extensions/ml/src/main/java/org/apache/beam/sdk/extensions/ml/AnnotateImages.java
 create mode 100644 sdks/java/extensions/ml/src/main/java/org/apache/beam/sdk/extensions/ml/BatchRequestForDLP.java
 create mode 100644 sdks/java/extensions/ml/src/main/java/org/apache/beam/sdk/extensions/ml/CloudVision.java
 create mode 100644 sdks/java/extensions/ml/src/main/java/org/apache/beam/sdk/extensions/ml/DLPDeidentifyText.java
 create mode 100644 sdks/java/extensions/ml/src/main/java/org/apache/beam/sdk/extensions/ml/DLPInspectText.java
 create mode 100644 sdks/java/extensions/ml/src/main/java/org/apache/beam/sdk/extensions/ml/DLPReidentifyText.java
 create mode 100644 sdks/java/extensions/ml/src/main/java/org/apache/beam/sdk/extensions/ml/MapStringToDlpRow.java
 create mode 100644 sdks/java/extensions/ml/src/test/java/org/apache/beam/sdk/extensions/ml/AnnotateImagesTest.java
 create mode 100644 sdks/java/extensions/ml/src/test/java/org/apache/beam/sdk/extensions/ml/BatchRequestForDlpTest.java
 create mode 100644 sdks/java/extensions/ml/src/test/java/org/apache/beam/sdk/extensions/ml/CloudVisionIT.java
 create mode 100644 sdks/java/extensions/ml/src/test/java/org/apache/beam/sdk/extensions/ml/CloudVisionTest.java
 create mode 100644 sdks/java/extensions/ml/src/test/java/org/apache/beam/sdk/extensions/ml/DLPDeidentifyTextTest.java
 create mode 100644 sdks/java/extensions/ml/src/test/java/org/apache/beam/sdk/extensions/ml/DLPInspectTextTest.java
 create mode 100644 sdks/java/extensions/ml/src/test/java/org/apache/beam/sdk/extensions/ml/DLPReidentifyTextTest.java
 create mode 100644 sdks/java/extensions/ml/src/test/java/org/apache/beam/sdk/extensions/ml/DLPTextOperationsIT.java
 create mode 100644 sdks/java/extensions/ml/src/test/java/org/apache/beam/sdk/extensions/ml/MapStringToDlpRowTest.java
 create mode 100644 sdks/java/extensions/sql/src/main/java/org/apache/beam/sdk/extensions/sql/impl/TVFSlidingWindowFn.java
 create mode 100644 sdks/java/extensions/sql/src/main/java/org/apache/beam/sdk/extensions/sql/impl/udaf/StringAgg.java
 create mode 100644 sdks/java/extensions/sql/src/main/java/org/apache/beam/sdk/extensions/sql/impl/udaf/package-info.java
 delete mode 100644 sdks/java/extensions/sql/zetasql/src/main/java/org/apache/beam/sdk/extensions/sql/zetasql/TypeUtils.java
 create mode 100644 sdks/java/extensions/sql/zetasql/src/main/java/org/apache/beam/sdk/extensions/sql/zetasql/ZetaSqlBeamTranslationUtils.java
 create mode 100644 sdks/java/extensions/sql/zetasql/src/main/java/org/apache/beam/sdk/extensions/sql/zetasql/ZetaSqlCalciteTranslationUtils.java
 delete mode 100644 sdks/java/extensions/sql/zetasql/src/main/java/org/apache/beam/sdk/extensions/sql/zetasql/ZetaSqlUtils.java
 create mode 100644 sdks/java/extensions/sql/zetasql/src/test/java/org/apache/beam/sdk/extensions/sql/zetasql/StreamingSQLTest.java
 create mode 100644 sdks/java/extensions/sql/zetasql/src/test/java/org/apache/beam/sdk/extensions/sql/zetasql/ZetaSQLTestBase.java
 create mode 100644 sdks/java/harness/src/main/java/org/apache/beam/fn/harness/state/IterableSideInput.java
 create mode 100644 sdks/java/io/splunk/build.gradle
 create mode 100644 sdks/java/io/splunk/src/main/java/org/apache/beam/sdk/io/splunk/HttpEventPublisher.java
 create mode 100644 sdks/java/io/splunk/src/main/java/org/apache/beam/sdk/io/splunk/SplunkEvent.java
 create mode 100644 sdks/java/io/splunk/src/main/java/org/apache/beam/sdk/io/splunk/SplunkEventWriter.java
 create mode 100644 sdks/java/io/splunk/src/main/java/org/apache/beam/sdk/io/splunk/SplunkIO.java
 create mode 100644 sdks/java/io/splunk/src/main/java/org/apache/beam/sdk/io/splunk/SplunkWriteError.java
 create mode 100644 sdks/java/io/splunk/src/main/java/org/apache/beam/sdk/io/splunk/package-info.java
 create mode 100644 sdks/java/io/splunk/src/test/java/org/apache/beam/sdk/io/splunk/HttpEventPublisherTest.java
 create mode 100644 sdks/java/io/splunk/src/test/java/org/apache/beam/sdk/io/splunk/SplunkEventTest.java
 create mode 100644 sdks/java/io/splunk/src/test/java/org/apache/beam/sdk/io/splunk/SplunkEventWriterTest.java
 create mode 100644 sdks/java/io/splunk/src/test/java/org/apache/beam/sdk/io/splunk/SplunkIOTest.java
 create mode 100644 sdks/java/io/splunk/src/test/java/org/apache/beam/sdk/io/splunk/SplunkWriteErrorTest.java
 create mode 100644 sdks/java/testing/kafka-service/build.gradle
 create mode 100644 sdks/java/testing/kafka-service/src/test/java/org/apache/beam/sdk/testing/kafka/LocalKafka.java
 create mode 100644 sdks/java/testing/kafka-service/src/test/java/org/apache/beam/sdk/testing/kafka/LocalZookeeper.java
 create mode 100644 sdks/java/testing/kafka-service/src/test/resources/log4j.properties
 create mode 100644 sdks/java/testing/nexmark/src/test/java/org/apache/beam/sdk/nexmark/queries/SqlQueryTest.java
 create mode 100644 sdks/python/apache_beam/dataframe/partitionings.py
 create mode 100644 sdks/python/apache_beam/dataframe/partitionings_test.py
 create mode 100644 sdks/python/apache_beam/examples/snippets/transforms/aggregation/groupintobatches.py
 create mode 100644 sdks/python/apache_beam/examples/snippets/transforms/aggregation/groupintobatches_test.py
 create mode 100644 sdks/python/apache_beam/io/external/xlang_kafkaio_it_test.py
 delete mode 100644 sdks/python/apache_beam/runners/portability/portable_stager.py
 delete mode 100644 sdks/python/apache_beam/runners/portability/portable_stager_test.py
 create mode 100644 sdks/python/apache_beam/typehints/row_type.py
 create mode 100644 website/www/site/content/en/blog/beam-2.22.0.md
 create mode 100644 website/www/site/content/en/blog/beam-katas-kotlin-release.md
 create mode 100644 website/www/site/content/en/blog/python-typing.md
 create mode 100644 website/www/site/content/en/community/mascot.md
 create mode 100644 website/www/site/content/en/documentation/patterns/ai-platform.md
 delete mode 100644 website/www/site/content/en/documentation/runners/apex.md
 delete mode 100644 website/www/site/content/en/documentation/runners/gearpump.md
 delete mode 100644 website/www/site/content/en/roadmap/apex-runner.md
 delete mode 100644 website/www/site/content/en/roadmap/gearpump-runner.md
 create mode 100644 website/www/site/static/images/blog/beam-katas-kotlin-release/beam-and-kotlin.png
 create mode 100644 website/www/site/static/images/blog/beam-katas-kotlin-release/beam-katas-in-edutools.png
 create mode 100644 website/www/site/static/images/mascot/beam_mascot.ai
 create mode 100644 website/www/site/static/images/mascot/beam_mascot.jpg
 create mode 100644 website/www/site/static/images/mascot/beam_mascot.svg
 create mode 100644 website/www/site/static/images/mascot/beam_mascot_1000x1000.png
 create mode 100644 website/www/site/static/images/mascot/beam_mascot_100x100.png
 create mode 100644 website/www/site/static/images/mascot/beam_mascot_200x200.png
 create mode 100644 website/www/site/static/images/mascot/beam_mascot_500x500.png
 create mode 100644 website/www/site/static/images/mascot/big_data.ai
 create mode 100644 website/www/site/static/images/mascot/big_data.jpg
 create mode 100644 website/www/site/static/images/mascot/big_data.png
 create mode 100644 website/www/site/static/images/mascot/big_data.svg
 create mode 100644 website/www/site/static/images/mascot/big_data_1000x1000.png
 create mode 100644 website/www/site/static/images/mascot/big_data_200x200.png
 create mode 100644 website/www/site/static/images/mascot/big_data_500x500.png
 create mode 100644 website/www/site/static/images/mascot/learning_independently.ai
 create mode 100644 website/www/site/static/images/mascot/learning_independently.jpg
 create mode 100644 website/www/site/static/images/mascot/learning_independently.svg
 create mode 100644 website/www/site/static/images/mascot/learning_independently_1000x1000.png
 create mode 100644 website/www/site/static/images/mascot/learning_independently_100x100.png
 create mode 100644 website/www/site/static/images/mascot/learning_independently_200x200.png
 create mode 100644 website/www/site/static/images/mascot/learning_independently_500x500.png
 create mode 100644 website/www/site/static/images/mascot/model_sheet.ai
 create mode 100644 website/www/site/static/images/mascot/model_sheet.jpg
 create mode 100644 website/www/site/static/images/mascot/model_sheet.png
 create mode 100644 website/www/site/static/images/mascot/model_sheet.svg