Skip to content

Add ability for a user to set mqtt's quiescentTimeout for forceable shutdowns #10210

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 6 commits into from
Jul 21, 2025

Conversation

cppwfs
Copy link
Contributor

@cppwfs cppwfs commented Jul 18, 2025

@cppwfs cppwfs requested a review from artembilan July 18, 2025 13:31
Copy link
Member

@artembilan artembilan left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Also apply this feature in the AbstractMqttClientManager implementations.
Plus mention a new property in the whats-new.adoc.

Thanks

cppwfs added 2 commits July 18, 2025 15:02
… shutdowns

Mqttv5 updated to  also support this feature
Fixes: spring-projects#10095
Update tests to set setDisconnectCompletionTimeout and setQuiescentTimeout to 1L to reduce test runtime
Rebase
@cppwfs cppwfs force-pushed the mqtt-paho-add-quiesceTimeout branch from 4dfbf2a to 03d3bfd Compare July 18, 2025 19:54
Copy link
Member

@artembilan artembilan left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

See Mqttv3ClientManager and Mqttv5ClientManager stop().
Such a quiesceTimeout has to be implemented over there as well.
Plus whats-new.adoc entry.

… getQuiescentTimeout for quiescent timeout

BackToBackAdapterTests initializeInboundAdapter needs to be a static  method
@artembilan
Copy link
Member

Thanks.
See, please, my general comment to the previous review(s).

Add the quiescentTimeout in the disconnectForcibly in the Mqttv3ClientManager and Mqttv5ClientManager classes

Add documentation to what's new doc describing the addition of quiescence timeout
It should be rewritten to state that this is exposing more of the MQTT Client API.
Copy link
Member

@artembilan artembilan left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks like PR build is failing in the test related to the change.

 > Task :spring-integration-mqtt:test
ClientManagerBackToBackTests > testSameV3ClientIdWorksForPubAndSub() FAILED
    java.lang.AssertionError at ClientManagerBackToBackTests.java:132

Any thoughts?
Thanks

@artembilan artembilan merged commit 8512805 into spring-projects:main Jul 21, 2025
3 of 5 checks passed
@cppwfs cppwfs added this to the 7.0.0-M1 milestone Jul 22, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

MQTT: Configure quiesceTimeout in disconnectForcibly()
2 participants