atharvalade opened a new pull request, #3194: URL: https://github.com/apache/iggy/pull/3194
## Which issue does this PR close? Closes #3176 ## Rationale `Error::InvalidRecord` was used for five unrelated failure modes in the Iceberg sink's `write_data` function, making it impossible for callers to distinguish schema mismatches from I/O failures from catalog outages. ## What changed? The Iceberg sink mapped Arrow schema conversion errors, Parquet write failures, and Iceberg catalog transaction failures all to `Error::InvalidRecord`. Callers could not programmatically decide whether to fix a table definition, skip a corrupt message, or retry a catalog outage. Three new SDK error variants — `SchemaMismatch(String)`, `WriteFailure(String)`, `CatalogError(String)` — replace the overloaded `InvalidRecord` at the appropriate call sites. `InvalidRecord` is preserved only for the genuine record-batch deserialization error. ## Local Execution - Passed - Pre-commit hooks ran ## AI Usage - Opu 4.6 - Scaffolding - 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]
