DBZ-6892 Removing all code related to previously deprecated MongoDB conenctor configuration
This commit is contained in:
parent
1bc62872fd
commit
9aadc38414
@ -209,13 +209,11 @@ public Config validate(Map<String, String> connectorConfigs) {
|
|||||||
|
|
||||||
// Get the config values for each of the connection-related fields ...
|
// Get the config values for each of the connection-related fields ...
|
||||||
ConfigValue connectionStringValue = results.get(MongoDbConnectorConfig.CONNECTION_STRING.name());
|
ConfigValue connectionStringValue = results.get(MongoDbConnectorConfig.CONNECTION_STRING.name());
|
||||||
ConfigValue hostsValue = results.get(MongoDbConnectorConfig.HOSTS.name());
|
|
||||||
ConfigValue userValue = results.get(MongoDbConnectorConfig.USER.name());
|
ConfigValue userValue = results.get(MongoDbConnectorConfig.USER.name());
|
||||||
ConfigValue passwordValue = results.get(MongoDbConnectorConfig.PASSWORD.name());
|
ConfigValue passwordValue = results.get(MongoDbConnectorConfig.PASSWORD.name());
|
||||||
|
|
||||||
// If there are no errors on any of these ...
|
// If there are no errors on any of these ...
|
||||||
if (hostsValue.errorMessages().isEmpty()
|
if (userValue.errorMessages().isEmpty()
|
||||||
&& userValue.errorMessages().isEmpty()
|
|
||||||
&& passwordValue.errorMessages().isEmpty()
|
&& passwordValue.errorMessages().isEmpty()
|
||||||
&& connectionStringValue.errorMessages().isEmpty()) {
|
&& connectionStringValue.errorMessages().isEmpty()) {
|
||||||
|
|
||||||
@ -225,7 +223,7 @@ public Config validate(Map<String, String> connectorConfigs) {
|
|||||||
client.listDatabaseNames();
|
client.listDatabaseNames();
|
||||||
}
|
}
|
||||||
catch (MongoException e) {
|
catch (MongoException e) {
|
||||||
hostsValue.addErrorMessage("Unable to connect: " + e.getMessage());
|
connectionStringValue.addErrorMessage("Unable to connect: " + e.getMessage());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -832,35 +832,6 @@ public static OversizeHandlingMode parse(String value, String defaultValue) {
|
|||||||
"for data change, schema change, transaction, heartbeat event etc.")
|
"for data change, schema change, transaction, heartbeat event etc.")
|
||||||
.withDefault(DefaultTopicNamingStrategy.class.getName());
|
.withDefault(DefaultTopicNamingStrategy.class.getName());
|
||||||
|
|
||||||
/**
|
|
||||||
* The comma-separated list of hostname and port pairs (in the form 'host' or 'host:port') of the MongoDB servers in the
|
|
||||||
* replica set.
|
|
||||||
*/
|
|
||||||
@Deprecated
|
|
||||||
public static final Field HOSTS = Field.create("mongodb.hosts")
|
|
||||||
.withDisplayName("Hosts")
|
|
||||||
.withType(Type.LIST)
|
|
||||||
.withGroup(Field.createGroupEntry(Field.Group.CONNECTION, 6))
|
|
||||||
.withWidth(Width.LONG)
|
|
||||||
.withImportance(Importance.HIGH)
|
|
||||||
.withValidation(MongoDbConnectorConfig::validateHosts)
|
|
||||||
.withDescription("The hostname and port pairs (in the form 'host' or 'host:port') "
|
|
||||||
+ "of the MongoDB server(s) in the replica set.");
|
|
||||||
|
|
||||||
@Deprecated
|
|
||||||
public static final Field AUTO_DISCOVER_MEMBERS = Field.create("mongodb.members.auto.discover")
|
|
||||||
.withDisplayName("Auto-discovery")
|
|
||||||
.withType(Type.BOOLEAN)
|
|
||||||
.withGroup(Field.createGroupEntry(Field.Group.CONNECTION, 7))
|
|
||||||
.withWidth(Width.SHORT)
|
|
||||||
.withImportance(Importance.LOW)
|
|
||||||
.withDefault(true)
|
|
||||||
.withValidation(Field::isBoolean)
|
|
||||||
.withDescription("Specifies whether the addresses in 'hosts' are seeds that should be "
|
|
||||||
+ "used to discover all members of the cluster or replica set ('true'), "
|
|
||||||
+ "or whether the address(es) in 'hosts' should be used as is ('false'). "
|
|
||||||
+ "The default is 'true'.");
|
|
||||||
|
|
||||||
public static final Field SOURCE_INFO_STRUCT_MAKER = CommonConnectorConfig.SOURCE_INFO_STRUCT_MAKER
|
public static final Field SOURCE_INFO_STRUCT_MAKER = CommonConnectorConfig.SOURCE_INFO_STRUCT_MAKER
|
||||||
.withDefault(MongoDbSourceInfoStructMaker.class.getName());
|
.withDefault(MongoDbSourceInfoStructMaker.class.getName());
|
||||||
|
|
||||||
@ -870,7 +841,6 @@ public static OversizeHandlingMode parse(String value, String defaultValue) {
|
|||||||
TOPIC_PREFIX,
|
TOPIC_PREFIX,
|
||||||
CONNECTION_STRING,
|
CONNECTION_STRING,
|
||||||
CONNECTION_MODE,
|
CONNECTION_MODE,
|
||||||
HOSTS,
|
|
||||||
USER,
|
USER,
|
||||||
PASSWORD,
|
PASSWORD,
|
||||||
AUTH_SOURCE,
|
AUTH_SOURCE,
|
||||||
@ -879,7 +849,6 @@ public static OversizeHandlingMode parse(String value, String defaultValue) {
|
|||||||
SOCKET_TIMEOUT_MS,
|
SOCKET_TIMEOUT_MS,
|
||||||
SERVER_SELECTION_TIMEOUT_MS,
|
SERVER_SELECTION_TIMEOUT_MS,
|
||||||
MONGODB_POLL_INTERVAL_MS,
|
MONGODB_POLL_INTERVAL_MS,
|
||||||
AUTO_DISCOVER_MEMBERS,
|
|
||||||
SSL_ENABLED,
|
SSL_ENABLED,
|
||||||
SSL_ALLOW_INVALID_HOSTNAMES,
|
SSL_ALLOW_INVALID_HOSTNAMES,
|
||||||
CURSOR_MAX_AWAIT_TIME_MS)
|
CURSOR_MAX_AWAIT_TIME_MS)
|
||||||
@ -1001,14 +970,10 @@ private static int validateOversizeSkipThreshold(Configuration config, Field fie
|
|||||||
|
|
||||||
private static int validateConnectionString(Configuration config, Field field, ValidationOutput problems) {
|
private static int validateConnectionString(Configuration config, Field field, ValidationOutput problems) {
|
||||||
String connectionStringValue = config.getString(field);
|
String connectionStringValue = config.getString(field);
|
||||||
String hostValue = config.getString(HOSTS);
|
|
||||||
|
|
||||||
if (connectionStringValue == null) {
|
if (connectionStringValue == null) {
|
||||||
if (hostValue == null) {
|
problems.accept(field, null, "Missing connection string");
|
||||||
problems.accept(field, null, "Missing connection string");
|
return 1;
|
||||||
return 1;
|
|
||||||
}
|
|
||||||
return 0;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
try {
|
try {
|
||||||
|
@ -82,12 +82,7 @@ public MongoDbConnectorConfig getConnectorConfig() {
|
|||||||
* @return hosts or connection string
|
* @return hosts or connection string
|
||||||
*/
|
*/
|
||||||
public String connectionSeed() {
|
public String connectionSeed() {
|
||||||
String seed = config.getString(MongoDbConnectorConfig.CONNECTION_STRING);
|
return config.getString(MongoDbConnectorConfig.CONNECTION_STRING);
|
||||||
if (seed == null) {
|
|
||||||
String hosts = config.getString(MongoDbConnectorConfig.HOSTS);
|
|
||||||
seed = ConnectionStrings.buildFromHosts(hosts);
|
|
||||||
}
|
|
||||||
return seed;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public ConnectionString connectionString() {
|
public ConnectionString connectionString() {
|
||||||
|
@ -13,7 +13,6 @@
|
|||||||
|
|
||||||
import com.mongodb.ConnectionString;
|
import com.mongodb.ConnectionString;
|
||||||
|
|
||||||
import io.debezium.DebeziumException;
|
|
||||||
import io.debezium.util.Strings;
|
import io.debezium.util.Strings;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -35,10 +34,6 @@ public static Optional<String> parseFromHosts(String hosts) {
|
|||||||
return matcher(hosts).map(m -> connectionString(m.group(2), m.group(3)));
|
return matcher(hosts).map(m -> connectionString(m.group(2), m.group(3)));
|
||||||
}
|
}
|
||||||
|
|
||||||
public static String buildFromHosts(String hosts) {
|
|
||||||
return parseFromHosts(hosts).orElseThrow(() -> new DebeziumException("Unable to build connection string"));
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Appends new parameter to connection string
|
* Appends new parameter to connection string
|
||||||
*
|
*
|
||||||
|
@ -38,10 +38,6 @@ public Configurator serverName(String serverName) {
|
|||||||
return with(CommonConnectorConfig.TOPIC_PREFIX, serverName);
|
return with(CommonConnectorConfig.TOPIC_PREFIX, serverName);
|
||||||
}
|
}
|
||||||
|
|
||||||
public Configurator hosts(String hosts) {
|
|
||||||
return with(MongoDbConnectorConfig.HOSTS, hosts);
|
|
||||||
}
|
|
||||||
|
|
||||||
public Configurator maxBatchSize(int maxBatchSize) {
|
public Configurator maxBatchSize(int maxBatchSize) {
|
||||||
return with(MongoDbConnectorConfig.MAX_BATCH_SIZE, maxBatchSize);
|
return with(MongoDbConnectorConfig.MAX_BATCH_SIZE, maxBatchSize);
|
||||||
}
|
}
|
||||||
|
@ -214,7 +214,7 @@ public void shouldValidateAcceptableConfiguration() {
|
|||||||
MongoDbConnector connector = new MongoDbConnector();
|
MongoDbConnector connector = new MongoDbConnector();
|
||||||
Config result = connector.validate(config.asMap());
|
Config result = connector.validate(config.asMap());
|
||||||
|
|
||||||
assertNoConfigurationErrors(result, MongoDbConnectorConfig.HOSTS);
|
assertNoConfigurationErrors(result, MongoDbConnectorConfig.CONNECTION_STRING);
|
||||||
assertNoConfigurationErrors(result, CommonConnectorConfig.TOPIC_PREFIX);
|
assertNoConfigurationErrors(result, CommonConnectorConfig.TOPIC_PREFIX);
|
||||||
assertNoConfigurationErrors(result, MongoDbConnectorConfig.USER);
|
assertNoConfigurationErrors(result, MongoDbConnectorConfig.USER);
|
||||||
assertNoConfigurationErrors(result, MongoDbConnectorConfig.PASSWORD);
|
assertNoConfigurationErrors(result, MongoDbConnectorConfig.PASSWORD);
|
||||||
|
@ -21,7 +21,6 @@ public class MongoDbConnectorWithConnectionStringIT extends AbstractMongoConnect
|
|||||||
|
|
||||||
private Configuration getConfig(String connectionString, boolean ssl) {
|
private Configuration getConfig(String connectionString, boolean ssl) {
|
||||||
var properties = TestHelper.getConfiguration(mongo).asProperties();
|
var properties = TestHelper.getConfiguration(mongo).asProperties();
|
||||||
properties.remove(MongoDbConnectorConfig.HOSTS.name());
|
|
||||||
|
|
||||||
return Configuration.from(properties).edit()
|
return Configuration.from(properties).edit()
|
||||||
.with(MongoDbConnectorConfig.POLL_INTERVAL_MS, 10)
|
.with(MongoDbConnectorConfig.POLL_INTERVAL_MS, 10)
|
||||||
|
@ -176,11 +176,6 @@ To use the MongoDB connector with a replica set, you must set the value of the `
|
|||||||
When the connector is ready to begin capturing changes from a MongoDB change stream, it starts a connection task.
|
When the connector is ready to begin capturing changes from a MongoDB change stream, it starts a connection task.
|
||||||
The connection task then uses the specified connection string to establish a connection to an available replica set member.
|
The connection task then uses the specified connection string to establish a connection to an available replica set member.
|
||||||
|
|
||||||
[WARNING]
|
|
||||||
====
|
|
||||||
Due to changes in the way that the connector manages database connections, this release of {prodname} no longer supports use of the `mongodb.members.auto.discover` property to prevent the connector from performing membership discovery.
|
|
||||||
====
|
|
||||||
|
|
||||||
[[mongodb-sharded-cluster]]
|
[[mongodb-sharded-cluster]]
|
||||||
MongoDB sharded cluster::
|
MongoDB sharded cluster::
|
||||||
A https://docs.mongodb.com/manual/sharding/[MongoDB sharded cluster] consists of:
|
A https://docs.mongodb.com/manual/sharding/[MongoDB sharded cluster] consists of:
|
||||||
@ -192,7 +187,7 @@ To use the MongoDB connector with a sharded cluster, in the connector configurat
|
|||||||
|
|
||||||
[WARNING]
|
[WARNING]
|
||||||
====
|
====
|
||||||
The `mongodb.connection.string` property replaces the deprecated `mongodb.hosts` property that was used to provide earlier versions of the connector with the host address of the _configuration server_ replica.
|
The `mongodb.connection.string` property replaces the removed `mongodb.hosts` property that was used to provide earlier versions of the connector with the host address of the _configuration server_ replica.
|
||||||
In the current release, use `mongodb.connection.string` to provide the connector with the addresses of MongoDB routers, also known as `mongos`.
|
In the current release, use `mongodb.connection.string` to provide the connector with the addresses of MongoDB routers, also known as `mongos`.
|
||||||
====
|
====
|
||||||
|
|
||||||
@ -1693,15 +1688,6 @@ After a source record is deleted, emitting a tombstone event (the default behavi
|
|||||||
* `avro_unicode` replaces the underscore or characters that cannot be used in the Avro type name with corresponding unicode like _uxxxx. Note: _ is an escape sequence like backslash in Java +
|
* `avro_unicode` replaces the underscore or characters that cannot be used in the Avro type name with corresponding unicode like _uxxxx. Note: _ is an escape sequence like backslash in Java +
|
||||||
|
|
||||||
See {link-prefix}:{link-avro-serialization}#avro-naming[Avro naming] for more details.
|
See {link-prefix}:{link-avro-serialization}#avro-naming[Avro naming] for more details.
|
||||||
|
|
||||||
|[[mongodb-property-mongodb-hosts]]<<mongodb-property-mongodb-hosts, `+mongodb.hosts+`>>
|
|
||||||
|No default
|
|
||||||
|The comma-separated list of hostname and port pairs (in the form 'host' or 'host:port') of the MongoDB servers in the replica set. The list can contain a single hostname and port pair. +
|
|
||||||
+
|
|
||||||
[NOTE]
|
|
||||||
====
|
|
||||||
This property is deprecated and should be replaced by xref:mongodb-property-mongodb-connection-string[`+mongodb.connection.string`].
|
|
||||||
====
|
|
||||||
|===
|
|===
|
||||||
|
|
||||||
The following _advanced_ configuration properties have good defaults that will work in most situations and therefore rarely need to be specified in the connector's configuration.
|
The following _advanced_ configuration properties have good defaults that will work in most situations and therefore rarely need to be specified in the connector's configuration.
|
||||||
|
Loading…
Reference in New Issue
Block a user