Skip to content

[pull] master from apache:master - #472

Merged
pull[bot] merged 2 commits into
section9-lab:masterfrom
apache:master
Jun 13, 2026
Merged

[pull] master from apache:master#472
pull[bot] merged 2 commits into
section9-lab:masterfrom
apache:master

Conversation

@pull

@pull pull Bot commented Jun 13, 2026

Copy link
Copy Markdown

See Commits and Changes for more details.


Created by pull[bot] (v2.0.0-alpha.4)

Can you help keep this open source service alive? 💖 Please sponsor : )

tkaymak and others added 2 commits June 13, 2026 14:55
…ing (revives #32385) (#38493)

* [mqtt] Add SchemaTransform providers for MqttIO Read/Write

Adds MqttReadSchemaTransformProvider and MqttWriteSchemaTransformProvider
so MqttIO can be used through the portable SchemaTransform API and exposed
as cross-language transforms. Decorates MqttIO.ConnectionConfiguration with
@DefaultSchema(AutoValueSchema.class) and @SchemaFieldDescription so the
config round-trips through Beam Schemas.

Both batch and streaming are supported on the read side: omitting
maxNumRecords/maxReadTimeSeconds yields an unbounded (streaming) read,
while setting either bounds it to a batch read. The provider descriptions
document this and note that streaming requires a portable streaming runner
(e.g. Prism, Flink, Dataflow); the legacy local Python DirectRunner does
not execute portable streaming cross-language reads.

Tests cover read-with-timeout-no-data, an unbounded streaming read
(publish/collect/cancel), and a write-then-read round trip against an
embedded ActiveMQ broker.

Revives the approved diff from PR #32385 (ahmedabu98, twosom) and adapts
it to the post-#32668 generic API (MqttIO.Read<T> / MqttIO.Write<T>).

* [mqtt] Add messaging expansion service and wire MqttIO into Python xlang

Adds a new :sdks:java:io:messaging-expansion-service module that serves
messaging IOs (MQTT for now, with room for JMS/Solace later) instead of
adding MqttIO to the shared :sdks:java:io:expansion-service, per review
feedback from @Abacn and @chamikaramj.

Registers MqttIO's SchemaTransforms in standard_expansion_services.yaml
under the new service with kafka-style names (ReadFromMqtt / WriteToMqtt),
skipping the core SchemaTransforms it bundles transitively (those are
generated from the Java IO expansion service). Regenerates
standard_external_transforms.yaml so the generated Python wrappers are
served by the messaging expansion service, and registers the new target in
the generateExternalTransformsConfig task and the xlang wrapper-validation
list.

The CHANGES.md announcement is deferred to the follow-up PR that sets up
the Xlang Messaging PostCommit, per review feedback.

* [expansion-service] Remove obsolete upToDateWhen workaround

outputs.upToDateWhen { false } in the shadowJar block was a workaround for
a corrupted gradle cache and is no longer needed (review feedback on
PR #38493).
* upgrade expansion sevice to Java 17

* update comment

* add container and workflow change

* try something

* Add PreCommit_Java to run on Java 17 in setup-environment-action

* add more coverage
@pull pull Bot locked and limited conversation to collaborators Jun 13, 2026
@pull pull Bot added the ⤵️ pull label Jun 13, 2026
@pull
pull Bot merged commit b3a62ee into section9-lab:master Jun 13, 2026
9 of 55 checks passed
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants