allthingssecurity commented on PR #28318: URL: https://github.com/apache/camel/pull/28318#issuecomment-6361855621
@davsclaus thanks, addressed in a9dbaf25b94d: 1. Reconnect-only check: kept as the scope of this JIRA. The limitation is now stated in the keeper javadoc, the upgrade guide and `nats-component.adoc`. I drafted a follow-up JIRA to detect a consumer deleted while connected. 2. `lastAck()` vs explicit callbacks: a javadoc line on the stale read (it fails safe, by redelivering). I drafted a follow-up JIRA to share one resume helper between pull and push (and the `FakeServer` test scaffolding), which would also remove the `New`/`Last` difference. 3. Conflict with #28204 in `NatsConsumer.java` (the `Status` import and the field next to `jetStreamSubscription`): I did not rebase now. Whichever of the two PRs lands second, we will rebase it on main. 4. Keeper registered after a stop during the subscribe: your inline guard is applied and `pushConsumerKeeper` is volatile. New test `removesItsConnectionListenerWhenTheRouteStopsWhileItSubscribes` fails without the guard. Upgrade guide: shortened to the migration note (what changed, durable not created again, the limitation). The details moved to a new section "JetStream push consumer whose consumer was deleted" in `nats-component.adoc` (and its catalog copy). Not done here: an IT against a real nats-server (`jsm.deleteConsumer(...)` plus `connection.forceReconnect()` on a shared connection). I cannot run containers in this environment, so I left it out rather than push an IT I have not run. Tests (offline, `-DskipITs`): `NatsConsumerPushConsumerDeletedTest` 13 run, 0 failures; camel-nats unit tests 18 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]
