You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@beam.apache.org by gi...@apache.org on 2021/12/02 03:56:36 UTC

[beam] branch nightly-refs/heads/master updated (6343316 -> 6bd4523)

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

github-bot pushed a change to branch nightly-refs/heads/master
in repository https://gitbox.apache.org/repos/asf/beam.git.


    from 6343316  [BEAM-13193] Support StandardProtocols.Enum.CONTROL_REQUEST_ELEMENTS_EMBEDDING in Java SDK harness.
     add 8efb426  Merge pull request #16090: [BEAM-13352] Add transient qualifier to member variables
     add 4e56b9a  [BEAM-13360][Playground] update validation step
     add 826e0fb  Merge pull request #16095 from [BEAM-13360][Playground] [Bugfix] Fix synchronous validators
     add e856227  Merge pull request #16011 from [BEAM-12164] Add models for Spanner change streams
     add 754fac6  [BEAM-13335] Use signed int64 range for DataFrame read unique indexes (#16089)
     add 7e6e348  Merge pull request #16079 from [BEAM-13241] [Playground] Frontend Routing
     add f754953  Ricardo Case Study (#16087)
     add 281ac0d  Merge pull request #16086 from [BEAM-13258][Playground] Get and store precompiled examples
     add 84201a5  Fix small typo in ProcessBundleHandlerTest.java
     add 88429b2  Merge pull request #16097 from y1chi/fix_typo
     add ed9f620  [BEAM-11936] Fix errorprone UnusedVariable in Runners (#16035)
     add bf9b959  [BEAM-8123] Add cloudpickle as optional library (#15472)
     add 1fdf257  [BEAM-12572] Beam python examples continuously exercised on at least 2 runners (#15968)
     add a5b7ad7  Require explicit designation of proxy partitioning specification.
     add 468089c  Elementwise transforms preserve all partitionings.
     add e8ce622  Merge pull request #16093 Cleanup default partitionings for dataframe helpers.
     add af92c20  Add test case for untriggered expansion with temp tables.
     add 6bd4523  [BEAM-13309] Add BigQueryIO write test case for untriggered expansion with temp tables

No new revisions were added by this update.

Summary of changes:
 .../job_PostCommit_Python_Examples_Dataflow.groovy |  46 +++
 .../job_PostCommit_Python_Examples_Direct.groovy   |  46 +++
 .../job_PostCommit_Python_Examples_Flink.groovy    |  46 +++
 .../job_PostCommit_Python_Examples_Spark.groovy    |  47 +++
 CHANGES.md                                         |   1 +
 playground/backend/internal/executors/executor.go  |  26 +-
 playground/frontend/build.gradle                   |  12 +
 playground/frontend/gradle.properties              |   6 +-
 .../frontend/lib/api/iis_workaround_channel.dart   |  47 +++
 playground/frontend/lib/config.g.dart              |   8 +
 .../code_repository/code_client/code_client.dart   |  20 +-
 .../code_client/grpc_code_client.dart              |  46 ++-
 .../code_repository/code_repository.dart           |  22 +-
 .../example_list/expansion_panel_item.dart         |   6 +-
 .../example_client/grpc_example_client.dart        |  23 +-
 .../repositories/models/get_example_request.dart   |   5 +-
 .../frontend/lib/modules/sdk/models/sdk.dart       |  19 +
 .../pages/playground/states/examples_state.dart    |  16 +-
 .../code_repository/code_repository_test.dart      |  28 +-
 .../code_repository_test.mocks.dart                |  62 +--
 .../states/example_selector_state_test.mocks.dart  |  39 +-
 playground/infrastructure/cd_helper.py             | 116 +++++-
 playground/infrastructure/config.py                |  13 +-
 playground/infrastructure/requirements.txt         |   1 +
 playground/infrastructure/test_cd_helper.py        |  79 +++-
 runners/core-construction-java/build.gradle        |   1 -
 .../runners/core/construction/Environments.java    |   3 -
 .../beam/runners/core/construction/External.java   |   1 -
 .../runners/core/construction/ReadTranslation.java |  24 +-
 .../construction/renderer/PipelineDotRenderer.java |   1 -
 .../core/construction/CombineTranslationTest.java  |   4 -
 .../core/construction/PTransformMatchersTest.java  |   1 +
 .../core/construction/PipelineTranslationTest.java |   6 +-
 .../core/construction/ReadTranslationTest.java     |   7 +-
 .../construction/graph/QueryablePipelineTest.java  |  30 --
 runners/core-java/build.gradle                     |   1 -
 .../apache/beam/runners/core/SimpleDoFnRunner.java |   4 -
 .../org/apache/beam/runners/core/StateTags.java    |   3 -
 .../core/serialization/Base64Serializer.java       |   1 +
 .../runners/core/InMemoryStateInternalsTest.java   |   4 -
 .../beam/runners/core/ReduceFnRunnerTest.java      |   2 -
 .../beam/runners/core/SimpleDoFnRunnerTest.java    |   1 +
 .../SimplePushbackSideInputDoFnRunnerTest.java     |   7 +-
 .../beam/runners/core/StateInternalsTest.java      |   3 -
 ...SynchronizedProcessingTimeStateMachineTest.java |   3 -
 .../core/triggers/TriggerStateMachineTester.java   |  17 -
 .../core/triggers/TriggerStateMachinesTest.java    |   6 +-
 runners/direct-java/build.gradle                   |   1 -
 .../runners/direct/DirectExecutionContext.java     |   4 +-
 .../beam/runners/direct/EvaluationContext.java     |   3 -
 .../beam/runners/direct/MultiStepCombine.java      |   5 +-
 .../beam/runners/direct/WatermarkManager.java      |   4 -
 .../runners/direct/DirectGraphVisitorTest.java     |  15 +-
 ...cycleManagerRemovingTransformEvaluatorTest.java |   1 -
 .../beam/runners/direct/MultiStepCombineTest.java  |   7 -
 .../runners/direct/SideInputContainerTest.java     |  31 +-
 .../direct/StatefulParDoEvaluatorFactoryTest.java  |   2 +
 .../runners/direct/WindowEvaluatorFactoryTest.java |   9 +-
 runners/flink/flink_runner.gradle                  |   1 -
 .../FlinkBatchPortablePipelineTranslator.java      |   2 -
 .../state/FlinkBroadcastStateInternals.java        |   6 -
 .../runners/flink/FlinkJobServerDriverTest.java    |   4 -
 .../beam/runners/flink/FlinkSavepointTest.java     |   2 +
 .../FlinkStreamingPipelineTranslatorTest.java      |   2 +
 .../runners/flink/PortableStateExecutionTest.java  |   3 +
 .../runners/flink/PortableTimersExecutionTest.java |   2 +
 .../wrappers/streaming/DoFnOperatorTest.java       |   5 +-
 runners/google-cloud-dataflow-java/build.gradle    |   1 -
 .../examples-streaming/build.gradle                |   2 +-
 .../examples/build.gradle                          |   2 +-
 .../beam/runners/dataflow/DataflowPipelineJob.java |   4 -
 .../dataflow/DataflowPipelineTranslator.java       |  44 +--
 .../dataflow/BatchStatefulParDoOverridesTest.java  |   2 +
 .../runners/dataflow/DataflowPipelineJobTest.java  |   1 -
 .../dataflow/DataflowPipelineTranslatorTest.java   |  58 ++-
 .../beam/runners/dataflow/DataflowRunnerTest.java  |  10 +-
 .../google-cloud-dataflow-java/worker/build.gradle |   1 -
 .../worker/legacy-worker/build.gradle              |   1 -
 .../worker/AssignWindowsParDoFnFactory.java        |   8 +-
 .../dataflow/worker/CounterShortIdCache.java       |   4 +-
 .../dataflow/worker/DataflowOutputCounter.java     |   4 +-
 .../dataflow/worker/FnApiWindowMappingFn.java      |   5 +-
 .../beam/runners/dataflow/worker/ShuffleSink.java  |   2 -
 .../worker/StreamingModeExecutionContext.java      |   1 +
 .../dataflow/worker/WindmillStateInternals.java    |   6 -
 .../dataflow/worker/WindmillStateReader.java       |   7 +-
 .../control/DataflowSideInputHandlerFactory.java   |   3 -
 .../fn/control/ProcessRemoteBundleOperation.java   |   2 -
 .../graph/CreateExecutableStageNodeFunction.java   |   2 -
 .../graph/DeduceFlattenLocationsFunction.java      |   8 +-
 .../worker/graph/RegisterNodeFunction.java         |   9 +-
 .../worker/status/SdkWorkerStatusServlet.java      |   3 -
 .../dataflow/worker/util/MemoryMonitor.java        |   1 +
 .../worker/util/common/worker/MapTaskExecutor.java |  13 -
 .../worker/BatchModeExecutionContextTest.java      |   1 -
 .../worker/IntrinsicMapTaskExecutorTest.java       |   1 -
 .../dataflow/worker/IsmReaderFactoryTest.java      |   4 -
 .../runners/dataflow/worker/IsmReaderTest.java     |   5 -
 .../dataflow/worker/IsmSideInputReaderTest.java    |   6 +-
 .../worker/NoOpSourceOperationExecutorTest.java    |   4 -
 .../worker/StreamingDataflowWorkerTest.java        |   6 +-
 ...reamingGroupAlsoByWindowsReshuffleDoFnTest.java |  16 +-
 .../dataflow/worker/UserParDoFnFactoryTest.java    |   2 +
 .../dataflow/worker/WindmillStateCacheTest.java    |   3 +-
 .../dataflow/worker/WindmillStateReaderTest.java   |   2 -
 .../dataflow/worker/counters/CounterSetTest.java   |   4 +-
 .../RegisterAndProcessBundleOperationTest.java     |   2 -
 .../worker/fn/data/BeamFnDataGrpcServiceTest.java  |   1 -
 .../fn/data/RemoteGrpcPortWriteOperationTest.java  |   1 -
 ...tFetchAndFilterStreamingSideInputNodesTest.java |  11 +-
 .../graph/LengthPrefixUnknownCodersTest.java       |   1 -
 .../worker/graph/MapTaskToNetworkFunctionTest.java |   2 +-
 .../dataflow/worker/status/DebugCaptureTest.java   |   3 -
 .../worker/testing/RestoreDataflowLoggingMDC.java  |   1 -
 .../util/DataflowCounterUpdateExtractorTest.java   |   6 +-
 .../worker/GroupingShuffleEntryIteratorTest.java   |   4 -
 .../util/common/worker/MapTaskExecutorTest.java    |   1 -
 .../util/common/worker/ParDoOperationTest.java     |   1 -
 .../util/common/worker/ReadOperationTest.java      |   1 -
 .../worker/windmill/GrpcWindmillServerTest.java    |   8 +-
 runners/java-fn-execution/build.gradle             |   1 -
 .../artifact/ArtifactStagingService.java           |   5 +-
 .../control/BundleCheckpointHandlers.java          |   5 +-
 .../environment/DockerEnvironmentFactory.java      |   8 +-
 .../environment/ExternalEnvironmentFactory.java    |   5 +-
 .../environment/ProcessEnvironmentFactory.java     |   6 +-
 .../artifact/ArtifactRetrievalServiceTest.java     |   8 +-
 .../control/ProcessBundleDescriptorsTest.java      |   2 +
 .../fnexecution/control/RemoteExecutionTest.java   |  27 +-
 .../fnexecution/control/SdkHarnessClientTest.java  |   6 +-
 .../environment/DockerEnvironmentFactoryTest.java  |   6 -
 .../status/BeamWorkerStatusGrpcServiceTest.java    |   3 +-
 .../fnexecution/status/WorkerStatusClientTest.java |   3 +-
 runners/java-job-service/build.gradle              |   1 -
 .../jobsubmission/PortablePipelineJarUtils.java    |   3 -
 .../jobsubmission/InMemoryJobServiceTest.java      |   2 -
 runners/jet/build.gradle                           |   1 -
 .../runners/jet/processors/BoundedSourceP.java     |   8 +-
 .../beam/runners/jet/processors/FlattenP.java      |   2 +-
 .../beam/runners/jet/processors/ImpulseP.java      |   2 +
 runners/local-java/build.gradle                    |   1 -
 runners/portability/java/build.gradle              |   2 +-
 .../portability/testing/TestPortableRunner.java    |   4 +-
 .../portability/testing/TestUniversalRunner.java   |   4 -
 runners/samza/build.gradle                         |   1 -
 runners/samza/job-server/build.gradle              |   1 -
 .../apache/beam/runners/samza/SamzaJobInvoker.java |   6 +-
 .../beam/runners/samza/SamzaPipelineResult.java    |   5 -
 .../runners/samza/SamzaPortablePipelineResult.java |   2 +-
 .../org/apache/beam/runners/samza/SamzaRunner.java |   2 +-
 .../samza/metrics/DoFnRunnerWithMetrics.java       |   2 -
 .../samza/metrics/SamzaMetricsContainer.java       |   1 -
 .../runners/samza/runtime/SamzaDoFnRunners.java    |   4 -
 .../SplittableParDoProcessKeyedElementsOp.java     |   2 -
 .../translation/FlattenPCollectionsTranslator.java |   6 +-
 .../runners/samza/util/PipelineJsonRenderer.java   |   3 -
 .../runtime/SamzaStoreStateInternalsTest.java      |   1 +
 .../samza/translation/ConfigGeneratorTest.java     |   2 +
 .../streaming/DatasetSourceStreaming.java          |   4 +-
 runners/spark/spark_runner.gradle                  |   1 -
 .../spark/coders/StatelessJavaSerializer.java      |   1 +
 .../SparkGroupAlsoByWindowViaWindowSet.java        |   2 -
 .../SparkBatchPortablePipelineTranslator.java      |   4 -
 .../translation/SparkExecutableStageFunction.java  |  20 +-
 .../SparkStreamingPortablePipelineTranslator.java  |   4 -
 .../runners/spark/GlobalWatermarkHolderTest.java   |  15 +-
 .../GroupNonMergingWindowsFunctionsTest.java       |   4 +-
 runners/twister2/build.gradle                      |   1 -
 .../Twister2PipelineExecutionEnvironment.java      |   2 +-
 .../wrappers/Twister2BoundedSource.java            |   5 +-
 .../Twister2BatchPipelineTranslator.java           |   2 -
 .../Twister2StreamPipelineTranslator.java          |   9 +-
 .../functions/AssignWindowsFunction.java           |  12 -
 .../translators/functions/ByteToElemFunction.java  |   2 -
 .../functions/GroupByWindowFunction.java           |   9 +-
 .../harness/control/ProcessBundleHandlerTest.java  |   8 +-
 .../gcp/bigquery/StorageApiFinalizeWritesDoFn.java |   2 +-
 .../bigquery/StorageApiFlushAndFinalizeDoFn.java   |   2 +-
 .../bigquery/StorageApiWriteUnshardedRecords.java  |   4 +-
 .../bigquery/StorageApiWritesShardedRecords.java   |   2 +-
 .../beam/sdk/io/gcp/bigquery/WriteRename.java      |   2 +-
 .../beam/sdk/io/gcp/bigquery/WriteTables.java      |   2 +-
 .../changestreams/encoder/TimestampEncoding.java   |  90 +++++
 .../changestreams/encoder/package-info.java        |   4 +-
 .../changestreams/model/ChangeStreamRecord.java    |  25 +-
 .../model/ChangeStreamRecordMetadata.java          | 438 +++++++++++++++++++++
 .../changestreams/model/ChildPartition.java        | 118 ++++++
 .../changestreams/model/ChildPartitionsRecord.java | 150 +++++++
 .../spanner/changestreams/model/ColumnType.java    | 107 +++++
 .../changestreams/model/DataChangeRecord.java      | 264 +++++++++++++
 .../changestreams/model/HeartbeatRecord.java       |  99 +++++
 .../changestreams/model/InitialPartition.java      |  48 +++
 .../io/gcp/spanner/changestreams/model/Mod.java    | 127 ++++++
 .../gcp/spanner/changestreams/model/ModType.java   |  32 +-
 .../changestreams/model/PartitionMetadata.java     | 403 +++++++++++++++++++
 .../gcp/spanner/changestreams/model/TypeCode.java  |  79 ++++
 .../changestreams/model/ValueCaptureType.java      |  30 +-
 .../spanner/changestreams/model/package-info.java  |   8 +-
 .../io/gcp/spanner/changestreams/package-info.java |  28 +-
 .../sdk/io/gcp/bigquery/BigQueryIOWriteTest.java   |  30 ++
 .../encoder/TimestampEncodingTest.java             | 155 ++++++++
 .../model/ChangeStreamRecordMetadataTest.java      |  63 +++
 .../model/ChildPartitionsRecordTest.java           |  51 +++
 .../changestreams/model/DataChangeRecordTest.java  |  78 ++++
 .../changestreams/model/HeartbeatRecordTest.java   |  27 +-
 .../changestreams/model/ModelEncodingTest.java     | 177 +++++++++
 .../changestreams/model/PartitionMetadataTest.java | 208 ++++++++++
 sdks/python/apache_beam/coders/coders.py           |   2 +-
 .../apache_beam/coders/coders_test_common.py       |  17 +-
 sdks/python/apache_beam/dataframe/frame_base.py    |  21 +-
 sdks/python/apache_beam/dataframe/frames.py        |  31 +-
 sdks/python/apache_beam/dataframe/io.py            |   2 +-
 .../examples/complete/autocomplete_test.py         |   1 +
 .../examples/complete/distribopt_test.py           |   2 +
 .../examples/complete/estimate_pi_test.py          |   3 +
 .../examples/complete/game/game_stats_test.py      |   3 +
 .../complete/game/hourly_team_score_test.py        |   3 +
 .../examples/complete/game/leader_board_test.py    |   3 +
 .../examples/complete/game/user_score_test.py      |   3 +
 .../complete/juliaset/juliaset/juliaset_test.py    |   3 +
 .../apache_beam/examples/complete/tfidf_test.py    |   3 +
 .../complete/top_wikipedia_sessions_test.py        |   3 +
 .../examples/cookbook/bigquery_side_input_test.py  |   3 +
 .../cookbook/bigquery_tornadoes_it_test.py         |   1 +
 .../examples/cookbook/bigquery_tornadoes_test.py   |   3 +
 .../apache_beam/examples/cookbook/coders_test.py   |   3 +
 .../examples/cookbook/combiners_test.py            |   3 +
 .../examples/cookbook/custom_ptransform_test.py    |   3 +
 .../apache_beam/examples/cookbook/filters_test.py  |   3 +
 .../examples/cookbook/group_with_coder_test.py     |   3 +
 .../examples/cookbook/mergecontacts_test.py        |   3 +
 .../cookbook/multiple_output_pardo_test.py         |   3 +
 .../examples/dataframe/flight_delays_it_test.py    |   1 +
 .../examples/dataframe/taxiride_test.py            |  15 +-
 .../examples/dataframe/wordcount_test.py           |   3 +
 .../examples/streaming_wordcount_debugging_test.py |   2 +
 .../examples/wordcount_debugging_test.py           |   3 +
 .../apache_beam/examples/wordcount_minimal_test.py |   3 +
 sdks/python/apache_beam/examples/wordcount_test.py |   3 +
 .../apache_beam/internal/cloudpickle_pickler.py    | 111 ++++++
 .../internal/cloudpickle_pickler_test.py           | 112 ++++++
 .../internal/{pickler.py => dill_pickler.py}       |   9 +
 sdks/python/apache_beam/internal/pickler.py        | 286 ++------------
 .../python/apache_beam/options/pipeline_options.py |   6 +
 .../apache_beam/runners/worker/sdk_worker_main.py  |   2 +
 .../container/py36/base_image_requirements.txt     |   1 +
 .../container/py37/base_image_requirements.txt     |   1 +
 .../container/py38/base_image_requirements.txt     |   1 +
 sdks/python/pytest.ini                             |   1 +
 sdks/python/setup.py                               |  10 +-
 sdks/python/test-suites/dataflow/build.gradle      |   6 +
 sdks/python/test-suites/dataflow/common.gradle     |  21 +
 sdks/python/test-suites/direct/build.gradle        |   6 +
 sdks/python/test-suites/direct/common.gradle       |  19 +
 sdks/python/test-suites/gradle.properties          |   6 +
 sdks/python/test-suites/portable/build.gradle      |  11 +
 sdks/python/test-suites/portable/common.gradle     |  61 +++
 website/www/site/assets/scss/_case_study.scss      | 179 +++++++++
 website/www/site/assets/scss/main.scss             |   1 +
 .../commercial => case-studies}/_index.md          |   4 +-
 .../commercial => case-studies}/dataflow.md        |  11 +-
 .../commercial => case-studies}/eBay.md            |  10 +-
 .../commercial => case-studies}/goga.md            |  11 +-
 .../open-source => case-studies}/kio.md            |   4 +-
 .../open-source => case-studies}/klio.md           |   4 +-
 .../commercial => case-studies}/mozilla.md         |  10 +-
 .../commercial => case-studies}/neo4j.md           |   8 +-
 .../commercial => case-studies}/oriel.md           |   9 +-
 .../www/site/content/en/case-studies/ricardo.md    | 241 ++++++++++++
 .../open-source => case-studies}/scio.md           |   4 +-
 .../open-source => case-studies}/tfx.md            |   4 +-
 website/www/site/content/en/powered-by/_index.md   |  24 --
 .../content/en/powered-by/commercial/ricardo.md    |  23 --
 .../content/en/powered-by/open-source/_index.md    |  17 -
 website/www/site/data/en/powered-by.yaml           |  20 -
 .../site/i18n/{powered-by => case-studies}/en.yaml |   4 +-
 website/www/site/i18n/navbar/en.yaml               |   4 +-
 .../{open-source => case-studies}/baseof.html      |  13 +-
 .../layouts/{commercial => case-studies}/list.html |   6 +-
 website/www/site/layouts/case-studies/single.html  |  32 ++
 website/www/site/layouts/commercial/baseof.html    |  35 --
 website/www/site/layouts/commercial/single.html    |  30 --
 website/www/site/layouts/open-source/list.html     | 114 ------
 website/www/site/layouts/open-source/single.html   |  30 --
 .../site/layouts/partials/cards/powered-by.html    |   2 +-
 website/www/site/layouts/partials/header.html      |   4 +-
 .../partials/section-menu/en/powered-by.html       |  16 -
 website/www/site/layouts/powered-by/main.html      |  36 --
 .../shortcodes/powered-by/powered-by-cards.html    |  18 -
 website/www/site/static/images/close-quote.svg     |  21 +
 website/www/site/static/images/open-quote.svg      |  21 +
 website/www/site/static/images/post_scheme.png     | Bin 0 -> 290029 bytes
 .../www/site/static/images/tobias_kaymak_photo.png | Bin 0 -> 11284 bytes
 293 files changed, 4727 insertions(+), 1502 deletions(-)
 create mode 100644 .test-infra/jenkins/job_PostCommit_Python_Examples_Dataflow.groovy
 create mode 100644 .test-infra/jenkins/job_PostCommit_Python_Examples_Direct.groovy
 create mode 100644 .test-infra/jenkins/job_PostCommit_Python_Examples_Flink.groovy
 create mode 100644 .test-infra/jenkins/job_PostCommit_Python_Examples_Spark.groovy
 create mode 100644 playground/frontend/lib/api/iis_workaround_channel.dart
 create mode 100644 sdks/java/io/google-cloud-platform/src/main/java/org/apache/beam/sdk/io/gcp/spanner/changestreams/encoder/TimestampEncoding.java
 copy playground/frontend/lib/config.g.dart => sdks/java/io/google-cloud-platform/src/main/java/org/apache/beam/sdk/io/gcp/spanner/changestreams/encoder/package-info.java (87%)
 copy runners/twister2/src/main/java/org/apache/beam/runners/twister2/translators/Twister2StreamPipelineTranslator.java => sdks/java/io/google-cloud-platform/src/main/java/org/apache/beam/sdk/io/gcp/spanner/changestreams/model/ChangeStreamRecord.java (57%)
 create mode 100644 sdks/java/io/google-cloud-platform/src/main/java/org/apache/beam/sdk/io/gcp/spanner/changestreams/model/ChangeStreamRecordMetadata.java
 create mode 100644 sdks/java/io/google-cloud-platform/src/main/java/org/apache/beam/sdk/io/gcp/spanner/changestreams/model/ChildPartition.java
 create mode 100644 sdks/java/io/google-cloud-platform/src/main/java/org/apache/beam/sdk/io/gcp/spanner/changestreams/model/ChildPartitionsRecord.java
 create mode 100644 sdks/java/io/google-cloud-platform/src/main/java/org/apache/beam/sdk/io/gcp/spanner/changestreams/model/ColumnType.java
 create mode 100644 sdks/java/io/google-cloud-platform/src/main/java/org/apache/beam/sdk/io/gcp/spanner/changestreams/model/DataChangeRecord.java
 create mode 100644 sdks/java/io/google-cloud-platform/src/main/java/org/apache/beam/sdk/io/gcp/spanner/changestreams/model/HeartbeatRecord.java
 create mode 100644 sdks/java/io/google-cloud-platform/src/main/java/org/apache/beam/sdk/io/gcp/spanner/changestreams/model/InitialPartition.java
 create mode 100644 sdks/java/io/google-cloud-platform/src/main/java/org/apache/beam/sdk/io/gcp/spanner/changestreams/model/Mod.java
 copy playground/frontend/lib/modules/sdk/models/sdk.dart => sdks/java/io/google-cloud-platform/src/main/java/org/apache/beam/sdk/io/gcp/spanner/changestreams/model/ModType.java (65%)
 create mode 100644 sdks/java/io/google-cloud-platform/src/main/java/org/apache/beam/sdk/io/gcp/spanner/changestreams/model/PartitionMetadata.java
 create mode 100644 sdks/java/io/google-cloud-platform/src/main/java/org/apache/beam/sdk/io/gcp/spanner/changestreams/model/TypeCode.java
 copy playground/frontend/lib/modules/sdk/models/sdk.dart => sdks/java/io/google-cloud-platform/src/main/java/org/apache/beam/sdk/io/gcp/spanner/changestreams/model/ValueCaptureType.java (62%)
 copy playground/frontend/lib/modules/examples/repositories/models/get_example_request.dart => sdks/java/io/google-cloud-platform/src/main/java/org/apache/beam/sdk/io/gcp/spanner/changestreams/model/package-info.java (81%)
 copy playground/frontend/lib/modules/sdk/models/sdk.dart => sdks/java/io/google-cloud-platform/src/main/java/org/apache/beam/sdk/io/gcp/spanner/changestreams/package-info.java (70%)
 create mode 100644 sdks/java/io/google-cloud-platform/src/test/java/org/apache/beam/sdk/io/gcp/spanner/changestreams/encoder/TimestampEncodingTest.java
 create mode 100644 sdks/java/io/google-cloud-platform/src/test/java/org/apache/beam/sdk/io/gcp/spanner/changestreams/model/ChangeStreamRecordMetadataTest.java
 create mode 100644 sdks/java/io/google-cloud-platform/src/test/java/org/apache/beam/sdk/io/gcp/spanner/changestreams/model/ChildPartitionsRecordTest.java
 create mode 100644 sdks/java/io/google-cloud-platform/src/test/java/org/apache/beam/sdk/io/gcp/spanner/changestreams/model/DataChangeRecordTest.java
 copy runners/twister2/src/main/java/org/apache/beam/runners/twister2/translators/Twister2StreamPipelineTranslator.java => sdks/java/io/google-cloud-platform/src/test/java/org/apache/beam/sdk/io/gcp/spanner/changestreams/model/HeartbeatRecordTest.java (53%)
 create mode 100644 sdks/java/io/google-cloud-platform/src/test/java/org/apache/beam/sdk/io/gcp/spanner/changestreams/model/ModelEncodingTest.java
 create mode 100644 sdks/java/io/google-cloud-platform/src/test/java/org/apache/beam/sdk/io/gcp/spanner/changestreams/model/PartitionMetadataTest.java
 create mode 100644 sdks/python/apache_beam/internal/cloudpickle_pickler.py
 create mode 100644 sdks/python/apache_beam/internal/cloudpickle_pickler_test.py
 copy sdks/python/apache_beam/internal/{pickler.py => dill_pickler.py} (97%)
 create mode 100644 website/www/site/assets/scss/_case_study.scss
 rename website/www/site/content/en/{powered-by/commercial => case-studies}/_index.md (92%)
 rename website/www/site/content/en/{powered-by/commercial => case-studies}/dataflow.md (85%)
 rename website/www/site/content/en/{powered-by/commercial => case-studies}/eBay.md (87%)
 rename website/www/site/content/en/{powered-by/commercial => case-studies}/goga.md (87%)
 rename website/www/site/content/en/{powered-by/open-source => case-studies}/kio.md (94%)
 rename website/www/site/content/en/{powered-by/open-source => case-studies}/klio.md (92%)
 rename website/www/site/content/en/{powered-by/commercial => case-studies}/mozilla.md (86%)
 rename website/www/site/content/en/{powered-by/commercial => case-studies}/neo4j.md (87%)
 rename website/www/site/content/en/{powered-by/commercial => case-studies}/oriel.md (86%)
 create mode 100644 website/www/site/content/en/case-studies/ricardo.md
 rename website/www/site/content/en/{powered-by/open-source => case-studies}/scio.md (91%)
 rename website/www/site/content/en/{powered-by/open-source => case-studies}/tfx.md (92%)
 delete mode 100644 website/www/site/content/en/powered-by/_index.md
 delete mode 100644 website/www/site/content/en/powered-by/commercial/ricardo.md
 delete mode 100644 website/www/site/content/en/powered-by/open-source/_index.md
 delete mode 100644 website/www/site/data/en/powered-by.yaml
 rename website/www/site/i18n/{powered-by => case-studies}/en.yaml (92%)
 rename website/www/site/layouts/{open-source => case-studies}/baseof.html (69%)
 rename website/www/site/layouts/{commercial => case-studies}/list.html (96%)
 create mode 100644 website/www/site/layouts/case-studies/single.html
 delete mode 100644 website/www/site/layouts/commercial/baseof.html
 delete mode 100644 website/www/site/layouts/commercial/single.html
 delete mode 100644 website/www/site/layouts/open-source/list.html
 delete mode 100644 website/www/site/layouts/open-source/single.html
 delete mode 100644 website/www/site/layouts/partials/section-menu/en/powered-by.html
 delete mode 100644 website/www/site/layouts/powered-by/main.html
 delete mode 100644 website/www/site/layouts/shortcodes/powered-by/powered-by-cards.html
 create mode 100644 website/www/site/static/images/close-quote.svg
 create mode 100644 website/www/site/static/images/open-quote.svg
 create mode 100644 website/www/site/static/images/post_scheme.png
 create mode 100644 website/www/site/static/images/tobias_kaymak_photo.png