danielcweeks commented on code in PR #14447:
URL: https://github.com/apache/iceberg/pull/14447#discussion_r2543648608


##########
bigquery/src/main/java/org/apache/iceberg/gcp/bigquery/BigQueryMetastoreCatalog.java:
##########
@@ -107,6 +107,28 @@ public void initialize(String name, Map<String, String> 
properties) {
     initialize(name, properties, projectId, projectLocation, client);
   }
 
+  @VisibleForTesting
+  BigQueryClientFactory createClientFactory(Map<String, String> properties) {
+    String factoryClassName = properties.get(CLIENT_FACTORY);
+    BigQueryClientFactory factory;
+
+    if (factoryClassName != null) {
+      try {
+        LOG.info("Loading custom BigQuery client factory: {}", 
factoryClassName);
+        Class<?> factoryClass = Class.forName(factoryClassName);

Review Comment:
   I don't feel like this is the right way trigger the different behavior 
between default/impersonation.  Reflection based injection is generally 
reserved for where it makes sense to extend for custom implementations, but 
this is largely about how to configure the client options. 



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