kyteware commented on PR #1373: URL: https://github.com/apache/iceberg-rust/pull/1373#issuecomment-2907985029
I'm looking at the behaviour of the method, and it seems as though an edge case may cause unwanted behaviour. The method is structured into two parts 1. Read the table of namespace properties to separate the property edits into inserts and updates 2. Make a transaction to do all inserts and updates at the same time Consider two calls both trying to add different values to the same previously non-existed property: If their reads both happen before either of their transactions, they will both decide they must insert their properties. Then, one will successfully insert it and the other's transaction will fail because the property is already present, returning an SQLX error. Is this acceptable behaviour, or should we move to using `UPSERT` instead? -- 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