geruh opened a new pull request, #11287: URL: https://github.com/apache/iceberg/pull/11287
Currently, Iceberg handles data commit operations like `AppendFiles`, `DeleteFiles`, and `OverwriteFiles` with through separate classes. However, all of these converge in Iceberg’s snapshot creation or update logic, which is responsible for tracking changes such as adding, removing, or replacing files. This logic collects the necessary information to produce a new snapshot and append it to the table. In the previous proposal for RESTful data commits, we aimed to move this snapshot production to the server side. However, that implementation missed some key details to make this fully achievable. Now, by re-framing this implementation to focus on row level changes in the table. The new question becomes what file changes, validations, or information does the server need to effectively produce a new snapshot? This proposal unifies these operations under a single model, `OverwriteRowsUpdate`, allowing the server to manage the creation of snapshots directly. By consolidating operations (e.g., insert, remove, overwrite) into a single REST-based model, we simplify the commit process. The server will validate changes, apply them, and produce a new snapshot. With this approach we can move snapshot production to the server while ensuring the correct validations are enforced for each type of operation. -- 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: issues-unsubscr...@iceberg.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org --------------------------------------------------------------------- To unsubscribe, e-mail: issues-unsubscr...@iceberg.apache.org For additional commands, e-mail: issues-h...@iceberg.apache.org