ajantha-bhat commented on PR #6789: URL: https://github.com/apache/iceberg/pull/6789#issuecomment-1443230335
@snazy & @dimas-b: ``` BaseTransaction.commitTransaction() -> BaseMetastoreTableOperations.commit() with refresh client -> NessieTableOperations.doCommit() -> NessieIcebergClient.commitTable with the expected hash. ``` Based on my analysis, the Nessie commit operation flow is as above. There are chances that we use older commit hash as the expected hash with the latest client. For this, Nessie backend server will fail the commit and Iceberg will retry the transaction/commit using this code[1] by rebasing the metadata and client. [1] https://github.com/apache/iceberg/blob/3efaee1790fe541d0969e12fa24afa4e1a3041c3/core/src/main/java/org/apache/iceberg/BaseTransaction.java#L354-L359 `So, Even if we add some code to update/refresh the expected hash to be the latest. It is not enough as TableMetadata will hold the old state. So, Nessie client cannot modify table metadata. The existing retry mechanism will handle this refresh. ` So, I don't think we need to change anything. Please clarify or guide me if you think it is incorrect. -- 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