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

Reply via email to