amuldotexe opened a new pull request, #2815:
URL: https://github.com/apache/iggy/pull/2815

   ## Which issue does this PR close?
   
   Partially addresses #2739 (MongoDB sink only).
   MongoDB source support will follow in a separate PR.
   
   ## Rationale
   
   We need a MongoDB sink connector with explicit failure behavior so writes 
are never reported as successful when they are not.
   
   ## What changed?
   
   Before this change, MongoDB sink support was missing for connector runtime 
users.  
   This PR adds the MongoDB sink connector, including insert/write logic, retry 
handling for transient failures, explicit duplicate-key failure behavior, 
metadata mapping, and delivery-semantics documentation.  
   It also adds sink-focused integration and unit tests to validate payload 
formats, batch behavior, auto-create collection behavior, and non-silent 
failure paths.
   
   ## Local Execution
   
   - Passed: `cargo fmt --all -- --check`
   - Passed: `cargo clippy -p iggy_connector_mongodb_sink --all-targets -- -D 
warnings`
   - Passed: `cargo test -p iggy_connector_mongodb_sink` (13 passed)
   - Passed: `cargo test -p integration --test mod -- mongodb_sink` (10 passed)
   - Pre-commit hooks ran
   - Docker E2E proof image: 
`ghcr.io/amuldotexe/iggy-mongodb-sink-demo:issue-2739-05fbec16`
   - Docker smoke result: `SMOKE_OK ... docs=3`
   - GHCR package: 
https://github.com/users/amuldotexe/packages/container/package/iggy-mongodb-sink-demo
   
   - Key sink tests:
   - `duplicate_key_is_explicit_failure_and_not_silent_success`
   - `ordered_duplicate_partial_insert_has_exact_accounting`
   - `schema_validation_mid_batch_surfaces_hard_error_and_partial_prefix`
   - `write_concern_timeout_does_not_report_full_success`
   - `retryable_write_failover_keeps_single_doc_per_id`
   - `no_writes_performed_label_path_preserves_state_accuracy`
   - `json_messages_sink_to_mongodb`
   - `binary_messages_sink_as_bson_binary`
   - `large_batch_processed_correctly`
   - `auto_create_collection_on_open`
   - `given_no_client_should_return_error_not_silent_ok`
   
   ## AI Usage
   
   1. Which tools?
      Codex, Claude Code, Rust Rover
   2. Scope of usage?
      PRD, connector precedent analysis, TDD, implementation, and PR prep
   3. How did you verify the generated code works correctly?
      Ran all local format, clippy, unit, and integration checks listed above
   4. 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