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]

Reply via email to