amogh-jahagirdar commented on code in PR #10140: URL: https://github.com/apache/iceberg/pull/10140#discussion_r1588457797
########## core/src/main/java/org/apache/iceberg/jdbc/JdbcUtil.java: ########## @@ -40,6 +40,8 @@ final class JdbcUtil { // property to control if view support is added to the existing database static final String SCHEMA_VERSION_PROPERTY = JdbcCatalog.PROPERTY_PREFIX + "schema-version"; + static final String RETRYABLE_STATUS_CODES = "retryable_status_codes"; Review Comment: > that anything specific to JDBC catalog should be prefixed by jdbc, just to be sure we don't have conflict with properties with same name not related to JDBC Catalog. As JDBC Connection is used in JDBC Catalog, I would prefix with jdbc for consistency. As it's user facing properties, it's important to be consistent here. I think if we do this it's not really consistent with what we do with other catalogs. For example, REST, Glue, Nessie catalogs don't neccessarily prefix any of their custom configurations with "glue", "rest", or "nessie" respectively; configuring the catalog configuration is just a matter of setting the property via <catalog_name>.<property>. I also don't think we need to worry about conflicts in property names across different catalogs; in the end we use reflection to load the catalog and it's up to the catalog implementation to respect whichever properties we want, so we just need to make sure the properties are well defined. The docs seemed pretty clear to me about the original intention of the "jdbc" prefix for the JDBC catalog https://iceberg.apache.org/docs/nightly/jdbc/?h=jdbc#configurations is that it's specifically meant for configuring JDBC connections (username/port/db name that are in the URL itself). `retryable_status_codes` is *not* configuring the JDBC connection URL. It is a catalog level property which controls when the catalog should retry establishing an entirely new connection. That's why I think it should be namespaced as it's own property (same as any other property that we do for other catalogs). I feel like that's actually more consistent behavior for a user; they can know that everything under jdbc is part of the actual connection URL, and everything outside of the JDBC prefix is a general catalog level property. -- 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: issues-unsubscr...@iceberg.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org --------------------------------------------------------------------- To unsubscribe, e-mail: issues-unsubscr...@iceberg.apache.org For additional commands, e-mail: issues-h...@iceberg.apache.org