pvary commented on code in PR #3270:
URL: https://github.com/apache/hive/pull/3270#discussion_r869109747


##########
iceberg/iceberg-handler/src/main/java/org/apache/iceberg/mr/hive/HiveIcebergMetaHook.java:
##########
@@ -336,6 +336,30 @@ public void 
preAlterTable(org.apache.hadoop.hive.metastore.api.Table hmsTable, E
       // that users can change data types or reorder columns too with this 
alter op type, so its name is misleading..)
       assertNotMigratedTable(hmsTable.getParameters(), "CHANGE COLUMN");
       handleChangeColumn(hmsTable);
+    } else if (AlterTableType.ADDPROPS.equals(currentAlterTableOp)) {
+      assertNotThirdPartyMetadataLocationChange(hmsTable.getParameters());
+    }
+  }
+
+  /**
+   * Perform a check on the current iceberg table whether a metadata change 
can be performed. A table is eligible if
+   * the current metadata uuid and the new metadata uuid matches.
+   * @param tblParams hms table properties, must be non-null
+   */
+  private void assertNotThirdPartyMetadataLocationChange(Map<String, String> 
tblParams) {
+    if 
(tblParams.containsKey(BaseMetastoreTableOperations.METADATA_LOCATION_PROP)) {
+      Preconditions.checkArgument(icebergTable != null,

Review Comment:
   Can we reword the error message to help the user to understand the situation 
better?
   Like:
   ```
   Can not perform table migration to Iceberg and setting the snapshot location 
in one step. Please migrate the table first
   ```
   
   Or something like this 



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