roryqi commented on code in PR #10895:
URL: https://github.com/apache/gravitino/pull/10895#discussion_r3249221500


##########
lance/lance-common/src/main/java/org/apache/gravitino/lance/common/ops/gravitino/GravitinoLanceTableOperations.java:
##########
@@ -131,10 +159,61 @@ public DescribeTableResponse describeTable(
         Optional.ofNullable(table.properties().get(LANCE_TABLE_VERSION))
             .map(Long::valueOf)
             .orElse(null));
-    
response.setStorageOptions(LancePropertiesUtils.getLanceStorageOptions(table.properties()));
+
+    if (credentialPrivilege != null) {
+      response.setStorageOptions(
+          buildVendedStorageOptions(catalogName, catalog, table, 
credentialPrivilege));
+    } else {
+      
response.setStorageOptions(LancePropertiesUtils.getLanceStorageOptions(table.properties()));
+    }
+
     return response;
   }
 
+  private Map<String, String> buildVendedStorageOptions(
+      String catalogName, Catalog catalog, Table table, CredentialPrivilege 
credentialPrivilege) {

Review Comment:
   Revise the Lance server design. I found that Lance server only serves as the 
HTTP proxy. It forward all the request to the Gravitino server. 
   Based on this point, we should use HTTP client to get the credential from 
the Gravitino server, Gravitino server generates the credential.
   Now this proposal will generate the credential in the Lance REST server.
   



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

Reply via email to