amr8t opened a new pull request, #3973: URL: https://github.com/apache/iggy/pull/3973
Replaces #3811 (could not be reopened after rebasing onto master). Rebased to current master and addressed all review comments. ## Which issue does this PR address? Relates to #3747 ## Summary Adds the RabbitMQ sink connector via the lapin client. Source will be a separate PR. ## Review feedback addressed - `amqp_url` stored as `secrecy::SecretString`, redacted via `iggy_common::serde_secret` (never logged or serialized verbatim) - Exchange declaration durability exposed as `durable_exchange` config (default `true`) - Publisher confirms matched explicitly: only `Ack(None)` counts as success; `Ack(Some(_))`/`Nack(_)` (unroutable mandatory publish) fail the batch permanently - AMQP delivery mode exposed as `delivery_mode` config (default `persistent`) - User-supplied Iggy headers forwarded as AMQP headers (`LongString` for strings, `ByteArray` for binary) so headers exchanges can route on them - `iggy_offset` encoded as full `i64` instead of narrowing to `u32` - Immediate `basic_publish` errors routed through the same retry flow; the retry loop resumes at the first unconfirmed message instead of republishing confirmed ones - JSON payloads serialized via `Payload::try_to_bytes()` (no deep clone) - README documents every config field with type, default, and behavior - Integration tests cover durable exchanges, unroutable routing keys, and headers-exchange routing; unit tests cover offset > u32::MAX, header encoding, delivery mode, and retry classification ## AI usage Which tools? opencode Scope of usage? investigation, code suggestions, implementation of review feedback How did you verify the generated code works correctly? Read through, compiled, ran unit tests, ran clippy/fmt/sort Can you explain every line of the code if asked? Yes -- 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]
