thswlsqls opened a new issue, #17074:
URL: https://github.com/apache/iceberg/issues/17074

   **Apache Iceberg version**
   main @ 49b89a8c5
   
   **Query engine**
   N/A (catalog-level, engine-agnostic)
   
   **Please describe the bug**
   `HiveViewOperations.doCommit()` 
(hive-metastore/src/main/java/org/apache/iceberg/hive/HiveViewOperations.java, 
catch block around line 211) throws `CommitFailedException` immediately on the 
HMS "modified" message, without checking whether the alter actually succeeded 
(e.g. a client retry after a network blip on an already-applied call). This can 
report a spurious failure for a commit that went through.
   
   `HiveTableOperations.doCommit()` (same package) already handles this 
correctly: it double-checks via `checkCommitStatusStrict()` before deciding the 
commit truly failed (PR #12637, merged 2025-04-02). The view path never got the 
same fix, so table and view commits behave inconsistently here.
   
   **Steps to reproduce**
   1. Commit a change to a view backed by `HiveViewOperations`.
   2. The HMS `alter_table` call succeeds, but the client observes/retries it, 
raising "The table has been modified...".
   3. Expected: since the metadata location is current, the commit should 
succeed (as tables do).
   4. Actual: `doCommit()` throws `CommitFailedException` immediately.
   


-- 
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]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to