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

   ## Summary
   
   Capture the `i32` return from the sink `consume()` FFI callback and 
propagate failures. The runtime at `sink.rs:585-593` was calling 
`(consume)(...)` as a statement, silently discarding the return code.
   
   ## Changes
   
   - `sink.rs`: Bind the `i32` return from `(consume)(...)`. If non-zero, log 
at `error!` level with `plugin_id` and return code, then return 
`Err(RuntimeError::SinkConsumeFailed(plugin_id, result))`.
   - `error.rs`: Add `SinkConsumeFailed(u32, i32)` variant to `RuntimeError` 
with error code `sink_consume_failed`.
   
   The caller at line 311-328 already handles `Err` by logging and returning 
the error, so no upstream changes are needed.
   
   ## Testing
   
   `cargo check`, `cargo clippy`, `cargo fmt` all pass. The change is a 
return-value check on an FFI boundary -- the existing test suite covers the 
surrounding message processing logic.
   
   Fixes #2927
   
   This contribution was developed with AI assistance (Claude Code).


-- 
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