allthingssecurity commented on PR #28197: URL: https://github.com/apache/camel/pull/28197#issuecomment-6309066393
Thanks Claus. 1. Done in a728df13b8b4: the consumer reconnects only for a QoS 1 message when `cleanStart=false`, `sessionExpiryInterval > 0` and it owns the client; in every other case the failed message is acknowledged with `messageArrivedComplete`. I checked Paho 1.2.5: `notifyReceivedMsg` sends PUBREC and `handleInboundPubRel` sends PUBCOMP regardless of manual acks, and `handleMessage` only holds back the QoS 1 PUBACK. New tests for `qos=2` and for `cleanStart=false` without `sessionExpiryInterval` (both fail on the previous commit). The doc section, the upgrade guide and the `manualAcksEnabled` description (JSON, catalog, DSL) now say the same. One small detail: the persisted QoS 2 copy is already removed when Paho sends the PUBCOMP; `messageArrivedComplete` removes the in-memory `inboundQoS2` entry. 2. Done in a728df13b8b4: the executor is created before `client.connect(...)` and shut down if the start fails. The `setCallback` ordering on main I left for a follow-up. 3. Done in a728df13b8b4: the reconnect uses `connectWithResult` and subscribes only when the session is not present. A test with a retained message shows it is no longer routed again after the reconnect. 4. Agreed, I'll do the `sessionExpiryInterval` javadoc as a separate follow-up. The generated endpoint DSL javadoc is re-wrapped in a251659ceb0c (my hand edit was one column too wide for the generator). Unit tests: 24 run, 0 failures. _Claude Code on behalf of allthingssecurity_ -- 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]
