Skip to content

Commit 0d75ef3

Browse files
committed
Show correct DB name in error string
1 parent 729c26a commit 0d75ef3

File tree

8 files changed

+22
-12
lines changed

8 files changed

+22
-12
lines changed

cloudsql-mysql-plugin/src/e2e-test/resources/errorMessage.properties

+1-1
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ errorMessageNumberOfSplits=Split-By Field Name must be specified if Number of Sp
1212
errorMessageBoundingQuery=Bounding Query must be specified if Number of Splits is not set to 1. Specify the Bounding Query.
1313
errorMessageInvalidSinkDatabase=Error encountered while configuring the stage: 'URLDecoder: Illegal hex characters in escape (%) pattern - For input string: "$^"'
1414
errorMessageInvalidTableName=Table 'Invalidtable' does not exist. Ensure table 'Invalidtable' is set correctly and
15-
errorMessageConnectionName=Connection Name must be in the format <PROJECT_ID>:<REGION>:<INSTANCE_NAME> to connect to a public CloudSQL PostgreSQL instance.
15+
errorMessageConnectionName=Connection Name must be in the format <PROJECT_ID>:<REGION>:<INSTANCE_NAME> to connect to a public CloudSQL MySQL instance.
1616
validationSuccessMessage=No errors found.
1717
validationErrorMessage=COUNT ERROR found
1818
errorLogsMessageInvalidTableName=Spark program 'phase-1' failed with error: Errors were encountered during validation. \

cloudsql-mysql-plugin/src/main/java/io/cdap/plugin/cloudsql/mysql/CloudSQLMySQLAction.java

+2-1
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,8 @@ public void configurePipeline(PipelineConfigurer pipelineConfigurer) {
5555
CloudSQLUtil.checkConnectionName(
5656
failureCollector,
5757
cloudsqlMysqlActionConfig.instanceType,
58-
cloudsqlMysqlActionConfig.connectionName);
58+
cloudsqlMysqlActionConfig.connectionName,
59+
CloudSQLUtil.CLOUDSQL_MYSQL);
5960
}
6061

6162
super.configurePipeline(pipelineConfigurer);

cloudsql-mysql-plugin/src/main/java/io/cdap/plugin/cloudsql/mysql/CloudSQLMySQLSink.java

+2-1
Original file line numberDiff line numberDiff line change
@@ -74,7 +74,8 @@ public void configurePipeline(PipelineConfigurer pipelineConfigurer) {
7474
CloudSQLUtil.checkConnectionName(
7575
failureCollector,
7676
cloudsqlMysqlSinkConfig.connection.getInstanceType(),
77-
cloudsqlMysqlSinkConfig.connection.getConnectionName());
77+
cloudsqlMysqlSinkConfig.connection.getConnectionName(),
78+
CloudSQLUtil.CLOUDSQL_MYSQL);
7879
}
7980

8081
super.configurePipeline(pipelineConfigurer);

cloudsql-mysql-plugin/src/main/java/io/cdap/plugin/cloudsql/mysql/CloudSQLMySQLSource.java

+2-1
Original file line numberDiff line numberDiff line change
@@ -70,7 +70,8 @@ public void configurePipeline(PipelineConfigurer pipelineConfigurer) {
7070
CloudSQLUtil.checkConnectionName(
7171
failureCollector,
7272
cloudsqlMysqlSourceConfig.connection.getInstanceType(),
73-
cloudsqlMysqlSourceConfig.connection.getConnectionName());
73+
cloudsqlMysqlSourceConfig.connection.getConnectionName(),
74+
CloudSQLUtil.CLOUDSQL_MYSQL);
7475
}
7576

7677
super.configurePipeline(pipelineConfigurer);

cloudsql-postgresql-plugin/src/main/java/io/cdap/plugin/cloudsql/postgres/CloudSQLPostgreSQLAction.java

+2-1
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,8 @@ public void configurePipeline(PipelineConfigurer pipelineConfigurer) {
5555
CloudSQLUtil.checkConnectionName(
5656
failureCollector,
5757
cloudsqlPostgresqlActionConfig.instanceType,
58-
cloudsqlPostgresqlActionConfig.connectionName);
58+
cloudsqlPostgresqlActionConfig.connectionName,
59+
CloudSQLUtil.CLOUDSQL_POSTGRESQL);
5960
}
6061

6162
super.configurePipeline(pipelineConfigurer);

cloudsql-postgresql-plugin/src/main/java/io/cdap/plugin/cloudsql/postgres/CloudSQLPostgreSQLSink.java

+2-1
Original file line numberDiff line numberDiff line change
@@ -81,7 +81,8 @@ public void configurePipeline(PipelineConfigurer pipelineConfigurer) {
8181
CloudSQLUtil.checkConnectionName(
8282
failureCollector,
8383
cloudsqlPostgresqlSinkConfig.connection.getInstanceType(),
84-
cloudsqlPostgresqlSinkConfig.connection.getConnectionName());
84+
cloudsqlPostgresqlSinkConfig.connection.getConnectionName(),
85+
CloudSQLUtil.CLOUDSQL_POSTGRESQL);
8586
}
8687

8788
super.configurePipeline(pipelineConfigurer);

cloudsql-postgresql-plugin/src/main/java/io/cdap/plugin/cloudsql/postgres/CloudSQLPostgreSQLSource.java

+2-1
Original file line numberDiff line numberDiff line change
@@ -70,7 +70,8 @@ public void configurePipeline(PipelineConfigurer pipelineConfigurer) {
7070
CloudSQLUtil.checkConnectionName(
7171
failureCollector,
7272
cloudsqlPostgresqlSourceConfig.connection.getInstanceType(),
73-
cloudsqlPostgresqlSourceConfig.connection.getConnectionName());
73+
cloudsqlPostgresqlSourceConfig.connection.getConnectionName(),
74+
CloudSQLUtil.CLOUDSQL_POSTGRESQL);
7475
}
7576

7677
super.configurePipeline(pipelineConfigurer);

database-commons/src/main/java/io/cdap/plugin/util/CloudSQLUtil.java

+9-5
Original file line numberDiff line numberDiff line change
@@ -31,16 +31,20 @@ public class CloudSQLUtil {
3131
public static final String INSTANCE_TYPE = "instanceType";
3232
public static final String PUBLIC_INSTANCE = "public";
3333
public static final String PRIVATE_INSTANCE = "private";
34+
public static final String CLOUDSQL_POSTGRESQL = "CloudSQL PostgreSQL";
35+
public static final String CLOUDSQL_MYSQL = "CloudSQL MySQL";
36+
3437

3538
/**
3639
* Utility method to check the Connection Name format of a CloudSQL instance.
3740
*
3841
* @param failureCollector {@link FailureCollector} for the pipeline
3942
* @param instanceType CloudSQL instance type
4043
* @param connectionName Connection Name for the CloudSQL instance
44+
* @param databaseType Type of CloudSQL instance- CloudSQL PostgreSQL, CLoudSQL MySQL
4145
*/
4246
public static void checkConnectionName(
43-
FailureCollector failureCollector, String instanceType, String connectionName) {
47+
FailureCollector failureCollector, String instanceType, String connectionName, String databaseType) {
4448

4549
if (PUBLIC_INSTANCE.equalsIgnoreCase(instanceType)) {
4650
Pattern connectionNamePattern =
@@ -50,16 +54,16 @@ public static void checkConnectionName(
5054
if (!matcher.matches()) {
5155
failureCollector
5256
.addFailure(
53-
"Connection Name must be in the format <PROJECT_ID>:<REGION>:<INSTANCE_NAME> to connect to "
54-
+ "a public CloudSQL PostgreSQL instance.", null)
57+
String.format("Connection Name must be in the format <PROJECT_ID>:<REGION>:<INSTANCE_NAME> to connect to "
58+
+ "a public %s instance.", databaseType), null)
5559
.withConfigProperty(CONNECTION_NAME);
5660
}
5761
} else {
5862
if (!InetAddresses.isInetAddress(connectionName)) {
5963
failureCollector
6064
.addFailure(
61-
"Enter the internal IP address of the Compute Engine VM cloudsql proxy "
62-
+ "is running on, to connect to a private CloudSQL PostgreSQL instance.", null)
65+
String.format("Enter the internal IP address of the Compute Engine VM cloudsql proxy "
66+
+ "is running on, to connect to a private %s instance.", databaseType), null)
6367
.withConfigProperty(CONNECTION_NAME);
6468
}
6569
}

0 commit comments

Comments
 (0)