The GitHub Actions job "CI" on pekko-connectors.git/main has succeeded. Run started by GitHub user raboof (triggered by raboof).
Head commit for run: 817d8f4334eefb33fd832a8bc54a05bd17812414 / PJ Fanning <[email protected]> MQTT Streaming: fix BroadcastHub race in server flow tests (#1977) Motivation: MqttFlowTest.establishServerBidirectionalConnectionAndSubscribeToATopic intermittently timed out: the server received the client's Connect but never replied with ConnAck. The connection handler feeds events into a BroadcastHub with two consumers - runForeach (which sends ConnAck, SubAck and PubAck) and the source returned to flatMapMerge (drained by Sink.ignore). BroadcastHub only holds elements while it has no consumers, so if the returned source attached first, the Connect could be delivered before runForeach attached and was never answered. The leaked streams then also failed the next test's assertAllStagesStopped. Modification: Use BroadcastHub with startAfterNrOfConsumers = 2 in the server flow of MqttFlowTest and MqttFlowSpec so no event is emitted until both consumers are attached. This also fixes the documentation snippet. Result: The handler always sees the Connect, so the server test no longer depends on consumer attach order. Tests: - sbt mqtt-streaming/Test/javafmt mqtt-streaming/Test/scalafmt mqtt-streaming/Test/compile - sbt 'mqtt-streaming/testOnly docs.javadsl.MqttFlowTest docs.scaladsl.*' (x3): server flow tests pass in MqttFlowTest, TypedMqttFlowSpec and UntypedMqttFlowSpec; broker-dependent tests fail locally only because no MQTT broker was running (connection refused on localhost:1883) References: Refs #468 Report URL: https://github.com/apache/pekko-connectors/actions/runs/36740980529 With regards, GitHub Actions via GitBox --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
