Conversation
…hot reading Fixes issue #5750 by introducing configurable snapshot error handling. Previously, failed batch errors were always non-fatal, causing the connector to just log error and skip batches. Now users can choose snapshot_error_mode: - ignore (default): log warning and skip batch (previous behavior) - fail: treat error as fatal Signed-off-by: Swanand Mulay <73115739+swanandx@users.noreply.github.com>
Signed-off-by: feldera-bot <feldera-bot@feldera.com>
|
@swanandx shouldn't "fail: treat error as fatal" should be the default, even if it means differing from previous behavior? |
i thought fatal error would stop the whole pipeline, and to make sure we don't break any users current setup, i kept it that way. Now that I know treating it as fatal error won't stop / break anything, we can make it the default. |
ryzhyk
left a comment
There was a problem hiding this comment.
As discussed, reporting a fatal error doesn't automatically stop the pipeline or the connector. You need to stop the connector yourself by exiting worker_task_inner. You also need to make sure that the is_closed method returns true (which I think will happen automatically when worker_task_inner terminates). This will ensure that the controller is aware that the connector is gone. But the connector should still respond to Queue commands to flush any inputs that have already been parsed. And it should commit the current transaction.
@swanandx , we can talk offline about the details.
|
|
||
| /// Controls how the connector handles errors during snapshot loading. | ||
| /// | ||
| /// * `"ignore"` - Log a non-fatal warning and skip the failed batch (default). |
There was a problem hiding this comment.
| /// * `"ignore"` - Log a non-fatal warning and skip the failed batch (default). | |
| /// * `"ignore"` - Log a non-fatal error and skip the failed batch (default). |
| /// Controls how the connector handles errors during snapshot loading. | ||
| /// | ||
| /// * `"ignore"` - Log a non-fatal warning and skip the failed batch (default). | ||
| /// * `"fail"` - Treat the error as fatal and stop the pipeline immediately. |
There was a problem hiding this comment.
| /// * `"fail"` - Treat the error as fatal and stop the pipeline immediately. | |
| /// * `"fail"` - Treat the error as fatal and stop the connector immediately. |
Fixes issue #5750 by introducing configurable snapshot error handling. Previously, failed batch errors were always non-fatal, causing the connector to just log error and skip batches. Now users can choose snapshot_error_mode:
Describe Manual Test Plan
Checklist
Breaking Changes?
Mark if you think the answer is yes for any of these components:
Describe Incompatible Changes