tkaymak opened a new pull request, #38966:
URL: https://github.com/apache/beam/pull/38966

   ## What
   
   Follow-up to #38493 (now merged). Sets up a PostCommit suite for the 
cross-language MQTT transforms (`ReadFromMqtt` / `WriteToMqtt`) served by the 
messaging expansion service, and re-adds the CHANGES.md announcement that was 
deferred from #38493.
   
   ## How
   
   Clones the existing `beam_PostCommit_Python_Xlang_IO_Direct` pattern for the 
messaging expansion service:
   
   - New workflow `beam_PostCommit_Python_Xlang_Messaging_Direct.yml` + trigger 
file + `.github/workflows/README.md` row.
   - New `messagingCrossLanguage` `CrossLanguageTask` (collect marker 
`uses_messaging_java_expansion_service`) in 
`sdks/python/test-suites/xlang/build.gradle`, plus a 
`messagingCrossLanguagePostCommit` aggregator task and the pytest marker 
registration.
   - New integration test `apache_beam/io/external/xlang_mqttio_it_test.py` 
that starts an Eclipse Mosquitto broker via testcontainers and covers:
     - bounded `ReadFromMqtt` on the DirectRunner (`max_num_records`, with a 
continuous `mosquitto_pub` publisher inside the container since MQTT has no 
message retention),
     - `WriteToMqtt` on the DirectRunner (verified with a `mosquitto_sub` 
subscriber),
     - the unbounded (streaming) path on the **Prism** runner: a streaming 
`ReadFromMqtt` feeding `WriteToMqtt` on a second topic, observed via 
`mosquitto_sub`, then cancelled.
   - The tests skip on Dataflow, where a testcontainers broker is not reachable 
from the workers. A Dataflow variant would need a remotely-hosted broker (like 
the hosted Kafka cluster used by the Xlang IO Dataflow suite) and is out of 
scope here.
   
   ## Testing
   
   All three integration tests pass locally against the messaging 
expansion-service shadowJar (~2 min).
   
   If Prism binary provisioning proves flaky on CI workers, the streaming test 
can be sickbayed.
   
   R: @Abacn
   
   This addresses your post-approval comment on #38493 about setting up the 
Xlang Messaging PostCommit.
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to