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]

Reply via email to