From c85d88c685f4810dc8b6f949fe7af360559f429d Mon Sep 17 00:00:00 2001 From: Jonathan Hess Date: Mon, 13 Jan 2025 10:27:40 -0700 Subject: [PATCH] chore: Use domain name from R2DBC connections when configuring the connector. --- .../sql/core/GcpConnectionFactoryProvider.java | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/r2dbc/core/src/main/java/com/google/cloud/sql/core/GcpConnectionFactoryProvider.java b/r2dbc/core/src/main/java/com/google/cloud/sql/core/GcpConnectionFactoryProvider.java index 056c14274..df3e3bd88 100644 --- a/r2dbc/core/src/main/java/com/google/cloud/sql/core/GcpConnectionFactoryProvider.java +++ b/r2dbc/core/src/main/java/com/google/cloud/sql/core/GcpConnectionFactoryProvider.java @@ -124,11 +124,22 @@ public ConnectionFactory create(ConnectionFactoryOptions connectionFactoryOption ? RefreshStrategy.LAZY : RefreshStrategy.BACKGROUND; + final String r2dbcHostname = (String) connectionFactoryOptions.getRequiredValue(HOST); + final String cloudSqlInstance; + final String domainName; + if (CloudSqlInstanceName.isValidInstanceName(r2dbcHostname)) { + cloudSqlInstance = r2dbcHostname; + domainName = null; + } else { + cloudSqlInstance = null; + domainName = r2dbcHostname; + } + Builder optionBuilder = createBuilder(connectionFactoryOptions); - String cloudSqlInstance = (String) connectionFactoryOptions.getRequiredValue(HOST); ConnectionConfig config = new ConnectionConfig.Builder() .withCloudSqlInstance(cloudSqlInstance) + .withDomainName(domainName) .withAuthType(enableIamAuth ? AuthType.IAM : AuthType.PASSWORD) .withIpTypes(ipTypes) .withNamedConnector(namedConnector)