dimas-b commented on code in PR #724:
URL: https://github.com/apache/polaris/pull/724#discussion_r1917396779


##########
service/common/src/main/java/org/apache/polaris/service/catalog/BasePolarisCatalog.java:
##########
@@ -1627,6 +1627,12 @@ private FileIO refreshIOWithCredentials(
     // the credentials should always override table-level properties, since
     // storage configuration will be found at whatever entity defines it
     tableProperties.putAll(credentialsMap);
+
+    // Populate the internal properties to FileIO in case the FileIO 
implementation needs them
+    Map<String, String> internalProperties =
+        
storageInfoEntity.map(PolarisEntity::getInternalPropertiesAsMap).orElse(Map.of());

Review Comment:
   > The Polaris FileIO here means the FileIO used by Polaris to access the 
storage [...]
   
   That is the situation now, but it does not have to be in the future. Suppose 
Polaris code evolves and the way it accesses storage changes, yet existing 
deployments will maintain property bags designed for use with Iceberg FileIO. 
This will stifle Polaris Server evolution, IMHO.
   
   From my POV, as far as Polaris backend is concerned it is preferable to 
define clear interfaces (by extension clear meaning of properties) that are 
under Polaris control so that when the backend evolves, those properties can 
still be supported explicitly.
   
   More specifically, I think in this case it might be worth adding a 
translation layer from a fixed well-defined set of Polaris properties (set by 
users) to Iceberg FileIO properties (translated by Polaris code). Does this 
sound reasonable?
   
   If the extra properties are meant for consumption by custom code extending 
Polaris Backend services, that can still be supported, but it should be clear 
that the interpretation of those properties is the responsibility of the 
extension, not of Polaris basic code.



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