minleejae commented on code in PR #3951:
URL: https://github.com/apache/iggy/pull/3951#discussion_r3837756979


##########
core/connectors/runtime/src/sink.rs:
##########
@@ -748,6 +748,18 @@ async fn process_messages(
     );
     let ffi_elapsed = ffi_start.elapsed();
 
+    // The status code is the plugin's only channel for reporting a failed 
write:
+    // the SDK returns non-zero when the sink's consume() errors or the batch 
cannot
+    // be deserialized. Ignoring it would count the batch as processed and 
advance
+    // consumer offsets over messages the sink never stored — the same 
silent-loss
+    // class that the iggy_sink_open status check prevents at startup.

Review Comment:
   You're right — reworded the comment and updated the issue description: this 
change is fail-fast (surfaces the failure, stops counting failed batches as 
processed), not redelivery, since offsets are already committed at poll time. 
Happy to adjust this PR to whatever design lands in #2927.



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