diff --git a/debezium-connector-mysql/src/main/java/io/debezium/connector/mysql/MySqlConnector.java b/debezium-connector-mysql/src/main/java/io/debezium/connector/mysql/MySqlConnector.java index c8a49709e..c81c8b637 100644 --- a/debezium-connector-mysql/src/main/java/io/debezium/connector/mysql/MySqlConnector.java +++ b/debezium-connector-mysql/src/main/java/io/debezium/connector/mysql/MySqlConnector.java @@ -84,11 +84,14 @@ public Config validate(Map connectorConfigs) { ConfigValue userValue = results.get(MySqlConnectorConfig.USER.name()); ConfigValue passwordValue = results.get(MySqlConnectorConfig.PASSWORD.name()); + if (passwordValue.value() == null || ((String)passwordValue.value()).isEmpty()) { + logger.warn("The connection password is empty"); + } + // If there are no errors on any of these ... if (hostnameValue.errorMessages().isEmpty() && portValue.errorMessages().isEmpty() - && userValue.errorMessages().isEmpty() - && passwordValue.errorMessages().isEmpty()) { + && userValue.errorMessages().isEmpty()) { // Try to connect to the database ... try (MySqlJdbcContext jdbcContext = new MySqlJdbcContext(config)) { jdbcContext.start(); diff --git a/debezium-connector-mysql/src/main/java/io/debezium/connector/mysql/MySqlConnectorConfig.java b/debezium-connector-mysql/src/main/java/io/debezium/connector/mysql/MySqlConnectorConfig.java index 4b0cb4716..1df2050b3 100644 --- a/debezium-connector-mysql/src/main/java/io/debezium/connector/mysql/MySqlConnectorConfig.java +++ b/debezium-connector-mysql/src/main/java/io/debezium/connector/mysql/MySqlConnectorConfig.java @@ -556,7 +556,6 @@ public static DdlParsingMode parse(String value, String defaultValue) { .withType(Type.PASSWORD) .withWidth(Width.SHORT) .withImportance(Importance.HIGH) - .withValidation(Field::isRequired) .withDescription("Password of the MySQL database user to be used when connecting to the database."); public static final Field SERVER_NAME = Field.create("database.server.name") diff --git a/debezium-connector-mysql/src/test/java/io/debezium/connector/mysql/MySqlConnectorIT.java b/debezium-connector-mysql/src/test/java/io/debezium/connector/mysql/MySqlConnectorIT.java index eb970341e..20afa4280 100644 --- a/debezium-connector-mysql/src/test/java/io/debezium/connector/mysql/MySqlConnectorIT.java +++ b/debezium-connector-mysql/src/test/java/io/debezium/connector/mysql/MySqlConnectorIT.java @@ -107,7 +107,6 @@ public void shouldFailToValidateInvalidConfiguration() { assertConfigurationErrors(result, MySqlConnectorConfig.HOSTNAME, 1); assertNoConfigurationErrors(result, MySqlConnectorConfig.PORT); assertConfigurationErrors(result, MySqlConnectorConfig.USER, 1); - assertConfigurationErrors(result, MySqlConnectorConfig.PASSWORD, 1); assertConfigurationErrors(result, MySqlConnectorConfig.SERVER_NAME, 2); assertNoConfigurationErrors(result, MySqlConnectorConfig.SERVER_ID); assertNoConfigurationErrors(result, MySqlConnectorConfig.TABLES_IGNORE_BUILTIN); diff --git a/debezium-connector-postgres/src/main/java/io/debezium/connector/postgresql/PostgresConnector.java b/debezium-connector-postgres/src/main/java/io/debezium/connector/postgresql/PostgresConnector.java index ae3a17f61..40a841a6e 100644 --- a/debezium-connector-postgres/src/main/java/io/debezium/connector/postgresql/PostgresConnector.java +++ b/debezium-connector-postgres/src/main/java/io/debezium/connector/postgresql/PostgresConnector.java @@ -85,6 +85,10 @@ public Config validate(Map connectorConfigs) { ConfigValue userValue = results.get(PostgresConnectorConfig.USER.name()); ConfigValue passwordValue = results.get(PostgresConnectorConfig.PASSWORD.name()); + if (passwordValue.value() == null || ((String)passwordValue.value()).isEmpty()) { + logger.warn("The connection password is empty"); + } + // If there are no errors on any of these ... if (hostnameValue.errorMessages().isEmpty() && portValue.errorMessages().isEmpty() diff --git a/debezium-connector-postgres/src/main/java/io/debezium/connector/postgresql/PostgresConnectorConfig.java b/debezium-connector-postgres/src/main/java/io/debezium/connector/postgresql/PostgresConnectorConfig.java index 599d28032..d9e50c820 100644 --- a/debezium-connector-postgres/src/main/java/io/debezium/connector/postgresql/PostgresConnectorConfig.java +++ b/debezium-connector-postgres/src/main/java/io/debezium/connector/postgresql/PostgresConnectorConfig.java @@ -438,7 +438,6 @@ public String getPostgresPluginName() { .withType(Type.PASSWORD) .withWidth(Width.SHORT) .withImportance(Importance.HIGH) - .withValidation(Field::isRequired) .withDescription("Password of the Postgres database user to be used when connecting to the database."); public static final Field DATABASE_NAME = Field.create(DATABASE_CONFIG_PREFIX + JdbcConfiguration.DATABASE) diff --git a/debezium-connector-postgres/src/test/java/io/debezium/connector/postgresql/PostgresConnectorIT.java b/debezium-connector-postgres/src/test/java/io/debezium/connector/postgresql/PostgresConnectorIT.java index 9ef360a69..efe48377e 100644 --- a/debezium-connector-postgres/src/test/java/io/debezium/connector/postgresql/PostgresConnectorIT.java +++ b/debezium-connector-postgres/src/test/java/io/debezium/connector/postgresql/PostgresConnectorIT.java @@ -121,7 +121,6 @@ public void shouldValidateConfiguration() throws Exception { // validate that the required fields have errors assertConfigurationErrors(validatedConfig, PostgresConnectorConfig.HOSTNAME, 1); assertConfigurationErrors(validatedConfig, PostgresConnectorConfig.USER, 1); - assertConfigurationErrors(validatedConfig, PostgresConnectorConfig.PASSWORD, 1); assertConfigurationErrors(validatedConfig, PostgresConnectorConfig.DATABASE_NAME, 1); // validate the non required fields