This is an automated email from the ASF dual-hosted git repository.
Abacn pushed a change to branch website-2-74
in repository https://gitbox.apache.org/repos/asf/beam.git
omit ed10b3a8e33 Update Beam website to release 2.74.0
add 79ae776fca7 Fix PipelineOptions deserialization NPE (#38531)
add 0318a2fa701 add yaml agent development skill (#38382)
add 01b09725ec3 Bump protobufjs in /sdks/typescript (#38538)
add c3335c887e6 Make sure session creation happens before starting agent
(#38477)
add 91f50ce5108 Remove Java 8 variant of
beam_PostCommit_Java_ValidatesRunner_Dataflow_JavaVersions (#38541)
add e83a1d5bad9 Pin tensor_rt digest for PyTorch sentiment Dataflow
benchmarks (#38374)
add b1f7115a633 Update Dataflow Dependency Java (#38542)
add 6b55c145853 Update Dataflow Proto (#38540)
add bb0bc772d4e Bump google.golang.org/api from 0.279.0 to 0.280.0 in
/sdks (#38563)
add ef703f65aff Bump cloud.google.com/go/datastore from 1.23.0 to 1.24.0
in /sdks (#38564)
add f22400a21a9 [Dataflow Streaming] Add experiment to use trigger state
to know if a window is new and optimize reads (#37574)
add 2105eaa4d23 Disable grpc fork support on some test suites. (#38566)
add c33bc972f15 Fix race condition in UserPipelineTracker.clear() and
various problems (#38537)
add 582bb452985 [Java SDK] Infer Beam logical types for JSR-310 and UUID
fields (#38194)
add ba63482cad5 introduce private method to remove clones (#38245)
add 2375fed9735 Refresh Iceberg partition specs periodically (#38408)
add 290e3721b50 WriteToJson - force num_shards (#38484)
add 4f2411e999e Revert "[Java Portable SDK] Configure JVM so that it exits
upon OutOfMemoryEr…" (#38567)
add 32ec9bb0946 Bump com.gradle.common-custom-user-data-gradle-plugin
(#38574)
add b9b9e78eeae Bump github.com/nats-io/nats-server/v2 from 2.14.0 to
2.14.1 in /sdks (#38576)
add 930b94cceb6 Fix test hang in subprocess expansion service on port bind
failure (#38572)
add ad93dd5ad64 Install wget and use repo token (#38340)
add 65e8b655195 huggingface model handler for yaml - retry (#38451)
add 707b48d4c6d Fix table row inference benchmark using wrong model path
(#38569)
add 898c1a8e22a Fix flaky MatrixPowerTest.test_basics by reading all
generated shards (#38585)
add 0c9b272c56b Update transform catalogue docs (#38457)
add b6aaf42e92e Initial skeleton for the Delta Lake source (#38571)
add 60620e788f0 Enforce Google Maven Mirror on CI environments (#38586)
add 1c0c02472c7 Adds backlog reporting support for non-fnapi based SDF's.
(#38346)
add 2203c8d4469 [Prism] Fix DEADLINE_EXCEEDED errors caused by worker
failures (#38523)
add 9d307e559eb Suppress log spams in gcsio 3.0 (#38588)
add 8f6e27117e1 Bump golang.org/x/net from 0.54.0 to 0.55.0 in /sdks
(#38595)
add 70d8f7dcfdd Revert "huggingface model handler for yaml - retry
(#38451)" (#38601)
add 63501f33968 Fix data_race condition in WindmillStreamSenderTest
(#38589)
add ef5f89f0508 [Iceberg] Fix manifest bounds being padded with trailing
0x00 bytes (#38580)
add 489efaa2400 Bump docker/build-push-action from 7.1.0 to 7.2.0 (#38597)
add 889ac54b236 Fix cancelled run handling in flaky test prefetcher
(#38579)
add a3e33da209c increase timeout (#38604)
add 978c37542c0 Revert "Bump golangci/golangci-lint-action from 3 to 8
(#36291)" (#38606)
add 590c9c27797 Report source lineage from HadoopFormatIO (#37265)
add 679adb85b14 Pipe Valuekind through DoFn and output builders (#38490)
add 7272ab5e5b8 [Python] Add type_overrides parameter to BigQuery I/O for
custom BigQuery-to-Python type mappings (#37253)
add d901481e851 Update Python Dependencies - manual trigger (#38610)
add db15fff4b9b Count cancelled runs in last-5 flaky check (#38614)
add 361c2c473a8 Reduce python expansion service startup time (#38611)
add bb5c486512d Update action.yml
add 94a9f824768 Bump docker/login-action from 4.1.0 to 4.2.0 (#38627)
add 8a30cc76045 Bump github.com/aws/aws-sdk-go-v2/config in /sdks (#38629)
add 35c70e5cb5b Bump docker/setup-buildx-action from 4.0.0 to 4.1.0
(#38628)
add 181424bb68d Bump github.com/aws/aws-sdk-go-v2/feature/s3/manager in
/sdks (#38630)
add 551a5a0c998 Update cython requirement from <4,>=3.0 to >=3.2.5,<4 in
/sdks/python (#38626)
add 5ad6df9f5a4 Fix flaky test_csv_to_json in Beam YAML SDK (#38617)
add 1858d2ef89a Update go dependencies (#38530)
add 1b261f0a399 Fix Fn API data plane deadlock when outbound queue is full
(#38581)
add 4049f00f165 [yaml] add support for matchall (#38512)
add eb29f866586 Update BEAM_DEV_SDK_CONTAINER_TAG to new version (#38699)
add d553b78ce2f [Dataflow Streaming] Add Operation::finishKey() and move
processTimers into it (#38430)
add 9583fe94755 [Cloud Spanner Change Streams] Fix inverted evaluation of
cancelQueryOnHeartbeat (#38695)
add b91538b4acc Bump cloud.google.com/go/bigtable from 1.47.0 to 1.48.0 in
/sdks (#38703)
add a7d2708d0f5 Bump google.golang.org/api from 0.280.0 to 0.281.0 in
/sdks (#38704)
add 45b79d23f9a Remove redundant HTTP->HTTPS redirect in .htaccess (#38522)
add 852d0720ac0 Refactor _SharedCache to handle context vs non-context
ownership (#38620)
add d2a3cee22e3 Enforce binary-only constraints during early requirements
cache attempts (#38688)
add 5096e63ecae Bump docker/setup-qemu-action from 4.0.0 to 4.1.0 (#38718)
add 3cb68c9bd68 Bump github.com/aws/aws-sdk-go-v2/service/s3 in /sdks
(#38719)
add 758042f0580 Bump google.golang.org/api from 0.281.0 to 0.282.0 in
/sdks (#38720)
add 789b278172c Bump github.com/aws/smithy-go from 1.25.1 to 1.26.0 in
/sdks (#38721)
add 54f7c7dd0d8 Bump github.com/aws/aws-sdk-go-v2/feature/s3/manager in
/sdks (#38722)
add 0302bf5529c Implemented MLTransform generate vocab Dataflow benchmark
(#38215)
add cd8b009d9fc [#38708] Add Flink 2.0 to SDK pipeline options validation
lists (#38726)
add a0494894c35 up timeout (#38732)
add 3f4bcb01570 remove playground annotations from BatchElementsExample
until next release (#38733)
add bdef23f826e Update CHANGES.md after release cut (#38608)
add 3e5a085bd0d Support infer types involving dataclass fields (#38548)
add a32774afe93 [Prism] Fix race condition in element manager (#38734)
add cbab4d7203a Add staged package hashes (#38311)
add 7ecabd09194 Update Beam website to release 2.74.0
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 (ed10b3a8e33)
\
N -- N -- N refs/heads/website-2-74 (7ecabd09194)
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:
.agent/skills/yaml-development/SKILL.md | 107 ++++
.../test-properties.json | 2 +-
.../actions/setup-environment-action/action.yml | 2 +-
.github/build.gradle | 10 +-
..._ValidatesRunner_Dataflow_Streaming_Engine.json | 2 +-
.github/trigger_files/beam_PostCommit_Python.json | 2 +-
.../beam_PostCommit_Python_Versions.json | 2 +-
...t.json => beam_PreCommit_Python_PVR_Flink.json} | 0
.../beam_Inference_Python_Benchmarks_Dataflow.yml | 12 +
.github/workflows/beam_PostCommit_Go.yml | 2 +-
.../workflows/beam_PostCommit_Go_Dataflow_ARM.yml | 2 +-
.../beam_PostCommit_Java_Examples_Dataflow_ARM.yml | 2 +-
..._Java_ValidatesRunner_Dataflow_JavaVersions.yml | 2 +-
.github/workflows/beam_PostCommit_Python_Arm.yml | 2 +-
.../beam_PostCommit_XVR_GoUsingJava_Dataflow.yml | 2 +-
.../beam_PostCommit_Yaml_Xlang_Direct.yml | 2 +-
.../workflows/beam_PreCommit_CommunityMetrics.yml | 2 +-
.github/workflows/beam_PreCommit_PythonDocker.yml | 2 +-
.../workflows/beam_PreCommit_Yaml_Xlang_Direct.yml | 2 +-
.../workflows/beam_Publish_Beam_SDK_Snapshots.yml | 2 +-
...beam_Python_ValidatesContainer_Dataflow_ARM.yml | 2 +-
.github/workflows/build_release_candidate.yml | 4 +-
.github/workflows/build_runner_image.yml | 6 +-
.github/workflows/build_wheels.yml | 2 +-
.github/workflows/finalize_release.yml | 24 +-
..._Dataflow_MLTransform_Generate_Vocab_Batch.txt} | 35 +-
...rch_Sentiment_Batch_DistilBert_Base_Uncased.txt | 3 +
...Sentiment_Streaming_DistilBert_Base_Uncased.txt | 3 +
.../republish_released_docker_containers.yml | 2 +-
.github/workflows/tour_of_beam_backend.yml | 2 +-
.../github/github_runs_prefetcher/code/main.py | 12 +-
.test-infra/tools/refresh_looker_metrics.py | 3 +-
CHANGES.md | 10 +-
buildSrc/build.gradle.kts | 19 +
.../org/apache/beam/gradle/BeamModulePlugin.groovy | 5 +-
.../org/apache/beam/gradle/Repositories.groovy | 22 +-
.../{TopExample.java => BatchElementsExample.java} | 54 +-
gradle.properties | 3 +
.../it/gcp/bigquery/BigQueryResourceManager.java | 42 +-
...TimeBoundedSplittableProcessElementInvoker.java | 258 +++++----
.../apache/beam/runners/core/ReduceFnRunner.java | 49 +-
.../apache/beam/runners/core/SimpleDoFnRunner.java | 21 +
.../core/SplittableParDoViaKeyedWorkItems.java | 9 +
.../core/SplittableProcessElementInvoker.java | 25 +-
.../org/apache/beam/runners/core/StepContext.java | 6 +
.../apache/beam/runners/core/WatermarkHold.java | 17 +
.../core/triggers/FinishedTriggersBitSet.java | 14 +
.../core/triggers/TriggerStateMachineRunner.java | 43 +-
...BoundedSplittableProcessElementInvokerTest.java | 47 +-
.../beam/runners/core/ReduceFnRunnerTest.java | 58 ++
.../apache/beam/runners/core/ReduceFnTester.java | 13 +
.../runners/core/SplittableParDoProcessFnTest.java | 124 +++-
.../triggers/TriggerStateMachineRunnerTest.java | 117 ++++
.../beam/runners/dataflow/BatchViewOverrides.java | 10 +-
.../dataflow/RedistributeByKeyOverrideFactory.java | 1 +
.../beam/runners/dataflow/util/PackageUtil.java | 3 +
.../beam/runners/dataflow/DataflowRunnerTest.java | 143 +++++
.../runners/dataflow/util/PackageUtilTest.java | 4 +
.../beam/runners/dataflow/worker/PubsubReader.java | 14 +-
.../worker/SplittableProcessFnFactory.java | 1 +
.../worker/StreamingModeExecutionContext.java | 38 +-
.../dataflow/worker/UngroupedWindmillReader.java | 17 +-
.../dataflow/worker/WindmillKeyedWorkItem.java | 3 +-
.../worker/WindmillReaderIteratorBase.java | 11 +-
.../beam/runners/dataflow/worker/WindmillSink.java | 1 +
.../dataflow/worker/WindmillValueKindHelper.java | 12 +-
.../dataflow/worker/WindowingWindmillReader.java | 2 +
.../WorkerCustomSourceOperationExecutor.java | 3 +
.../dataflow/worker/WorkerCustomSources.java | 9 +-
.../worker/streaming/ComputationWorkExecutor.java | 2 +-
.../util/common/worker/FlattenOperation.java | 3 +
.../worker/util/common/worker/MapTaskExecutor.java | 7 +
.../worker/util/common/worker/Operation.java | 3 +
.../worker/util/common/worker/ParDoOperation.java | 7 +-
.../worker/util/common/worker/ReadOperation.java | 3 +
.../worker/util/common/worker/WorkExecutor.java | 3 +
.../worker/util/common/worker/WriteOperation.java | 3 +
.../client/grpc/GrpcWindmillStreamFactory.java | 6 +-
.../windmill/state/WindmillWatermarkHold.java | 94 +++-
.../worker/IntrinsicMapTaskExecutorTest.java | 12 +
.../worker/StreamingDataflowWorkerTest.java | 4 +-
.../worker/StreamingGroupAlsoByWindowFnsTest.java | 6 +
.../worker/StreamingModeExecutionContextTest.java | 41 +-
.../worker/WindmillReaderIteratorBaseTest.java | 60 +-
.../dataflow/worker/WorkerCustomSourcesTest.java | 26 +-
.../util/common/worker/ExecutorTestUtils.java | 3 +
.../util/common/worker/MapTaskExecutorTest.java | 12 +
.../util/common/worker/ParDoOperationTest.java | 2 +
.../windmill/state/WindmillStateInternalsTest.java | 167 +++++-
runners/prism/java/build.gradle | 1 +
sdks/go.mod | 109 ++--
sdks/go.sum | 246 ++++----
.../prism/internal/engine/elementmanager.go | 7 +-
.../beam/runners/prism/internal/environments.go | 93 +--
.../beam/runners/prism/internal/execute_test.go | 21 +
sdks/go/pkg/beam/runners/prism/internal/stage.go | 17 +-
.../beam/runners/prism/internal/testdofns_test.go | 34 ++
.../beam/runners/prism/internal/worker/bundle.go | 58 +-
.../runners/prism/internal/worker/worker_test.go | 67 +++
sdks/java/container/boot.go | 15 +-
.../beam/sdk/options/PipelineOptionsFactory.java | 26 +-
.../beam/sdk/schemas/utils/ByteBuddyUtils.java | 128 +++++
.../sdk/schemas/utils/StaticSchemaInference.java | 19 +-
.../apache/beam/sdk/state/WatermarkHoldState.java | 10 +
.../apache/beam/sdk/transforms/BatchElements.java | 9 +-
.../java/org/apache/beam/sdk/transforms/DoFn.java | 18 +
.../org/apache/beam/sdk/transforms/DoFnTester.java | 25 +-
.../apache/beam/sdk/transforms/Redistribute.java | 1 +
.../java/org/apache/beam/sdk/transforms/Reify.java | 5 +-
.../org/apache/beam/sdk/transforms/Reshuffle.java | 1 +
.../reflect/ByteBuddyDoFnInvokerFactory.java | 11 +
.../beam/sdk/transforms/reflect/DoFnInvoker.java | 15 +
.../beam/sdk/transforms/reflect/DoFnSignature.java | 26 +
.../sdk/transforms/reflect/DoFnSignatures.java | 8 +
.../construction/SplittableParDoNaiveBounded.java | 11 +
.../org/apache/beam/sdk/values/WindowedValues.java | 3 +-
.../beam/sdk/schemas/JavaBeanSchemaTest.java | 83 +++
.../beam/sdk/schemas/JavaFieldSchemaTest.java | 122 ++++
.../beam/sdk/schemas/transforms/ConvertTest.java | 99 ++++
.../beam/sdk/schemas/utils/JavaBeanUtilsTest.java | 10 +
.../beam/sdk/schemas/utils/POJOUtilsTest.java | 32 ++
.../beam/sdk/schemas/utils/TestJavaBeans.java | 89 +++
.../apache/beam/sdk/schemas/utils/TestPOJOs.java | 118 ++++
.../apache/beam/sdk/transforms/ValueKindTest.java | 623 +++++++++++++++++++++
.../apache/beam/sdk/util/WindowedValueTest.java | 33 ++
.../extensions/avro/schemas/utils/AvroUtils.java | 87 +--
.../beam/sdk/extensions/gcp/util/GcsUtilV1.java | 9 +
.../apache/beam/fn/harness/FnApiDoFnRunner.java | 31 +-
.../java/{extensions/sbe => io/delta}/build.gradle | 21 +-
.../java/org/apache/beam/sdk/io/delta/DeltaIO.java | 91 +++
.../apache/beam/sdk/io/delta}/package-info.java | 6 +-
.../org/apache/beam/sdk/io/delta/DeltaIOTest.java | 62 ++
.../action/HeartbeatRecordAction.java | 2 +-
.../SpannerChangeStreamErrorTest.java | 41 +-
.../action/HeartbeatRecordActionTest.java | 4 +-
.../apache/beam/sdk/io/hdfs/HadoopFileSystem.java | 17 +
.../beam/sdk/io/hdfs/HadoopFileSystemTest.java | 20 +
.../beam/sdk/io/hadoop/format/HadoopFormatIO.java | 25 +
.../iceberg/AssignDestinationsAndPartitions.java | 47 +-
.../beam/sdk/io/iceberg/SerializableDataFile.java | 14 +-
.../sdk/io/iceberg/SerializableDataFileTest.java | 65 +++
sdks/python/apache_beam/dataframe/io.py | 20 +-
.../examples/inference/pytorch_sentiment.py | 80 ++-
.../apache_beam/examples/matrix_power_test.py | 13 +-
.../apache_beam/examples/ml_transform/README.md | 116 ++++
.../ml_transform/mltransform_generate_vocab.py | 265 +++++++++
.../mltransform_generate_vocab_requirements.txt} | 14 +-
.../mltransform_generate_vocab_test.py | 191 +++++++
sdks/python/apache_beam/io/gcp/bigquery.py | 25 +-
.../apache_beam/io/gcp/bigquery_schema_tools.py | 63 ++-
.../io/gcp/bigquery_schema_tools_test.py | 109 ++++
sdks/python/apache_beam/io/gcp/bigquery_tools.py | 13 +-
.../apache_beam/io/gcp/bigquery_tools_test.py | 161 ++++++
.../ml/inference/agent_development_kit.py | 36 +-
.../ml/inference/agent_development_kit_test.py | 38 +-
.../python/apache_beam/options/pipeline_options.py | 2 +-
.../clients/dataflow/dataflow_v1b3_messages.py | 5 +
.../apache_beam/runners/dataflow/internal/names.py | 2 +-
.../runners/interactive/interactive_environment.py | 10 +-
.../runners/interactive/user_pipeline_tracker.py | 109 ++--
.../interactive/user_pipeline_tracker_test.py | 48 ++
.../apache_beam/runners/portability/job_server.py | 5 +
.../runners/portability/portable_runner_test.py | 17 +
.../runners/portability/prism_runner.py | 10 +-
.../runners/portability/prism_runner_test.py | 11 +
.../apache_beam/runners/portability/stager.py | 149 +++--
.../apache_beam/runners/worker/data_plane.py | 60 +-
.../mltransform_generate_vocab_benchmark.py | 56 ++
.../inference/table_row_inference_benchmark.py | 48 +-
.../testing/load_tests/dataflow_cost_benchmark.py | 28 +-
sdks/python/apache_beam/testing/test_pipeline.py | 4 +-
sdks/python/apache_beam/typehints/opcodes.py | 6 +
sdks/python/apache_beam/typehints/row_type_test.py | 21 +
.../typehints/trivial_inference_test.py | 12 +
sdks/python/apache_beam/utils/subprocess_server.py | 62 +-
.../apache_beam/utils/subprocess_server_test.py | 161 +++++-
sdks/python/apache_beam/yaml/standard_io.yaml | 1 +
.../apache_beam/yaml/standard_providers.yaml | 1 +
sdks/python/apache_beam/yaml/tests/match_all.yaml | 96 ++++
sdks/python/apache_beam/yaml/yaml_io.py | 57 ++
sdks/python/apache_beam/yaml/yaml_io_test.py | 118 ++++
.../python/apache_beam/yaml/yaml_transform_test.py | 2 +-
.../container/ml/py310/base_image_requirements.txt | 139 ++---
.../container/ml/py310/gpu_image_requirements.txt | 243 ++++----
.../container/ml/py311/base_image_requirements.txt | 139 ++---
.../container/ml/py311/gpu_image_requirements.txt | 241 ++++----
.../container/ml/py312/base_image_requirements.txt | 139 +++--
.../container/ml/py312/gpu_image_requirements.txt | 239 ++++----
.../container/ml/py313/base_image_requirements.txt | 139 +++--
.../container/py310/base_image_requirements.txt | 123 ++--
.../container/py311/base_image_requirements.txt | 125 +++--
.../container/py312/base_image_requirements.txt | 123 ++--
.../container/py313/base_image_requirements.txt | 125 ++---
.../container/py314/base_image_requirements.txt | 121 ++--
sdks/python/pyproject.toml | 2 +-
sdks/typescript/package-lock.json | 182 +++---
sdks/typescript/package.json | 2 +-
sdks/typescript/src/apache_beam/runners/flink.ts | 2 +-
settings.gradle.kts | 18 +-
.../transforms/java/aggregation/batchelements.md | 31 +
.../en/documentation/transforms/java/overview.md | 1 +
website/www/site/content/en/performance/_index.md | 1 +
.../en/performance/mltransformvocab/_index.md | 37 ++
website/www/site/data/performance.yaml | 16 +
.../partials/section-menu/en/documentation.html | 1 +
website/www/site/static/.htaccess | 14 -
206 files changed, 7171 insertions(+), 1963 deletions(-)
create mode 100644 .agent/skills/yaml-development/SKILL.md
copy .github/trigger_files/{beam_PreCommit_Yaml_Xlang_Direct.json =>
beam_PreCommit_Python_PVR_Flink.json} (100%)
copy
.github/workflows/load-tests-pipeline-options/{beam_Inference_Python_Benchmarks_Dataflow_VLLM_Gemma_Batch.txt
=>
beam_Inference_Python_Benchmarks_Dataflow_MLTransform_Generate_Vocab_Batch.txt}
(66%)
copy examples/java/src/main/java/org/apache/beam/examples/{TopExample.java =>
BatchElementsExample.java} (61%)
create mode 100644
runners/core-java/src/test/java/org/apache/beam/runners/core/triggers/TriggerStateMachineRunnerTest.java
copy
sdks/java/core/src/main/java/org/apache/beam/sdk/values/ValueKindUtil.java =>
runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/WindmillValueKindHelper.java
(78%)
create mode 100644
sdks/java/core/src/test/java/org/apache/beam/sdk/transforms/ValueKindTest.java
copy sdks/java/{extensions/sbe => io/delta}/build.gradle (66%)
create mode 100644
sdks/java/io/delta/src/main/java/org/apache/beam/sdk/io/delta/DeltaIO.java
copy sdks/java/io/{debezium/src/main/java/org/apache/beam/io/debezium =>
delta/src/main/java/org/apache/beam/sdk/io/delta}/package-info.java (86%)
create mode 100644
sdks/java/io/delta/src/test/java/org/apache/beam/sdk/io/delta/DeltaIOTest.java
create mode 100644 sdks/python/apache_beam/examples/ml_transform/README.md
create mode 100644
sdks/python/apache_beam/examples/ml_transform/mltransform_generate_vocab.py
copy
sdks/python/apache_beam/{ml/inference/table_row_inference_requirements.txt =>
examples/ml_transform/mltransform_generate_vocab_requirements.txt} (70%)
create mode 100644
sdks/python/apache_beam/examples/ml_transform/mltransform_generate_vocab_test.py
create mode 100644
sdks/python/apache_beam/testing/benchmarks/inference/mltransform_generate_vocab_benchmark.py
create mode 100644 sdks/python/apache_beam/yaml/tests/match_all.yaml
create mode 100644
website/www/site/content/en/documentation/transforms/java/aggregation/batchelements.md
create mode 100644
website/www/site/content/en/performance/mltransformvocab/_index.md