ggershinsky commented on code in PR #13066:
URL: https://github.com/apache/iceberg/pull/13066#discussion_r2399244098


##########
hive-metastore/src/main/java/org/apache/iceberg/hive/HiveTableOperations.java:
##########
@@ -124,13 +184,37 @@ protected void doRefresh() {
       throw new RuntimeException("Interrupted during refresh", e);
     }
 
+    if (encryptionKeyIdFromHMS != null) {
+      encryptionKeyId = encryptionKeyIdFromHMS; // todo gg
+      encryptionDekLength =
+          (dekLengthFromHMS != null)
+              ? Integer.parseInt(dekLengthFromHMS)
+              : TableProperties.ENCRYPTION_DEK_LENGTH_DEFAULT; // todo gg
+    }
+
     refreshFromMetadataLocation(metadataLocation, metadataRefreshMaxRetries);
+
+    if (encryptionKeyIdFromHMS != null) {
+      checkEncryptionProperties(encryptionKeyIdFromHMS, dekLengthFromHMS);
+      encryptedKeysFromMetadata = current().encryptionKeys();

Review Comment:
   Thanks @smaheshwar-pltr for this usecase and the question. The high level 
API works ok, but indeed the lower level API doesn't get the kms name and the 
updated key list.
   I'm in favor of supporting this at all API levels. Will appreciate if you'd 
send the unitest and the fix (as an addition to this PR, or as a part of 13225, 
or as a separate PR).
   (btw, the kms part can be handled by adding `catalog.initialize(catalogName, 
catalogConfig)` before catalog.loadTable; then no need in the TestBase change).



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