From 65017dc2d633d4da1cea298f5f516d3f7362dfc1 Mon Sep 17 00:00:00 2001 From: Chris Cranford Date: Fri, 6 May 2022 14:01:32 -0400 Subject: [PATCH] DBZ-5100 Do not default `database.server.id` --- .../debezium/connector/mysql/MySqlConnectorConfig.java | 10 +--------- .../io/debezium/connector/mysql/MySqlConnectorIT.java | 2 +- documentation/modules/ROOT/pages/connectors/mysql.adoc | 2 +- 3 files changed, 3 insertions(+), 11 deletions(-) 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 89e5da86e..7776aa68a 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 @@ -7,7 +7,6 @@ import java.math.BigDecimal; import java.time.Duration; -import java.util.Random; import java.util.Set; import java.util.function.Predicate; @@ -609,13 +608,12 @@ public static GtidNewChannelPosition parse(String value, String defaultValue) { .withGroup(Field.createGroupEntry(Field.Group.CONNECTION, 1)) .withWidth(Width.LONG) .withImportance(Importance.HIGH) - .withDefault(MySqlConnectorConfig::randomServerId) .required() .withValidation(Field::isPositiveLong) .withDescription("A numeric ID of this database client, which must be unique across all " + "currently-running database processes in the cluster. This connector joins the " + "MySQL database cluster as another server (with this unique ID) so it can read " - + "the binlog. By default, a random number is generated between 5400 and 6400."); + + "the binlog."); public static final Field SERVER_ID_OFFSET = Field.create("database.server.id.offset") .withDisplayName("Cluster ID offset") @@ -1188,12 +1186,6 @@ private static int validateTimePrecisionMode(Configuration config, Field field, return 0; } - private static int randomServerId() { - int lowestServerId = 5400; - int highestServerId = 6400; - return lowestServerId + new Random().nextInt(highestServerId - lowestServerId); - } - @Override protected SourceInfoStructMaker getSourceInfoStructMaker(Version version) { switch (version) { 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 8331b42cb..9ec3c1ad3 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 @@ -129,7 +129,7 @@ public void shouldFailToValidateInvalidConfiguration() { assertNoConfigurationErrors(result, MySqlConnectorConfig.PORT); assertConfigurationErrors(result, MySqlConnectorConfig.USER, 1); assertConfigurationErrors(result, MySqlConnectorConfig.SERVER_NAME, 2); - assertNoConfigurationErrors(result, MySqlConnectorConfig.SERVER_ID); + assertConfigurationErrors(result, MySqlConnectorConfig.SERVER_ID); assertNoConfigurationErrors(result, MySqlConnectorConfig.TABLES_IGNORE_BUILTIN); assertNoConfigurationErrors(result, MySqlConnectorConfig.DATABASE_WHITELIST); assertNoConfigurationErrors(result, MySqlConnectorConfig.DATABASE_INCLUDE_LIST); diff --git a/documentation/modules/ROOT/pages/connectors/mysql.adoc b/documentation/modules/ROOT/pages/connectors/mysql.adoc index 4c323941a..231df5ed3 100644 --- a/documentation/modules/ROOT/pages/connectors/mysql.adoc +++ b/documentation/modules/ROOT/pages/connectors/mysql.adoc @@ -2349,7 +2349,7 @@ The connector is also unable to recover its database history topic. |[[mysql-property-database-server-id]]<> |_random_ -|A numeric ID of this database client, which must be unique across all currently-running database processes in the MySQL cluster. This connector joins the MySQL database cluster as another server (with this unique ID) so it can read the binlog. By default, a random number between 5400 and 6400 is generated, though the recommendation is to explicitly set a value. +|A numeric ID of this database client, which must be unique across all currently-running database processes in the MySQL cluster. This connector joins the MySQL database cluster as another server (with this unique ID) so it can read the binlog. |[[mysql-property-database-include-list]]<> |_empty string_