DBZ-602 Typo fixes; adding a few test assertions

This commit is contained in:
Gunnar Morling 2018-03-06 15:38:59 +01:00
parent c11875994a
commit f055020613
2 changed files with 19 additions and 5 deletions

View File

@ -793,8 +793,9 @@ public static EventProcessingFailureHandlingMode parse(String value) {
+ "while the database schemas and other metadata are being read. The remaining work in a snapshot involves selecting all rows from " + "while the database schemas and other metadata are being read. The remaining work in a snapshot involves selecting all rows from "
+ "each table, and this can be done using the snapshot process' REPEATABLE READ transaction even when the lock is no longer held and " + "each table, and this can be done using the snapshot process' REPEATABLE READ transaction even when the lock is no longer held and "
+ "other operations are updating the database. However, in some cases it may be desirable to block all writes for the entire duration " + "other operations are updating the database. However, in some cases it may be desirable to block all writes for the entire duration "
+ "of the snapshot; in such cases set this property to 'extended'. Using a value 'none' will prevent the connector from acquiring any " + "of the snapshot; in such cases set this property to 'extended'. Using a value of 'none' will prevent the connector from acquiring any "
+ "table locks during the snapshot process. This mode can only be used in combination with snapshot.mode values of 'schema_only' or 'schema_only_recovery'.") + "table locks during the snapshot process. This mode can only be used in combination with snapshot.mode values of 'schema_only' or "
+ "'schema_only_recovery' and is only safe to use if no schema changes are happening while the snapshot is taken.")
.withValidation(MySqlConnectorConfig::validateSnapshotLockingMode); .withValidation(MySqlConnectorConfig::validateSnapshotLockingMode);
public static final Field TIME_PRECISION_MODE = Field.create("time.precision.mode") public static final Field TIME_PRECISION_MODE = Field.create("time.precision.mode")
@ -930,7 +931,7 @@ public static final Field MASK_COLUMN(int length) {
public MySqlConnectorConfig(Configuration config) { public MySqlConnectorConfig(Configuration config) {
super(config); super(config);
// If deprectated snapshot.minimal.locking property is explicitly configured // If deprecated snapshot.minimal.locking property is explicitly configured
if (config.hasKey(MySqlConnectorConfig.SNAPSHOT_MINIMAL_LOCKING.name())) { if (config.hasKey(MySqlConnectorConfig.SNAPSHOT_MINIMAL_LOCKING.name())) {
// Coerce it into its replacement appropriate snapshot.locking.mode value // Coerce it into its replacement appropriate snapshot.locking.mode value
if (config.getBoolean(MySqlConnectorConfig.SNAPSHOT_MINIMAL_LOCKING)) { if (config.getBoolean(MySqlConnectorConfig.SNAPSHOT_MINIMAL_LOCKING)) {

View File

@ -16,7 +16,6 @@
import java.util.Map; import java.util.Map;
import java.util.concurrent.TimeUnit; import java.util.concurrent.TimeUnit;
import io.debezium.connector.mysql.MySqlConnectorConfig.SnapshotLockingMode;
import org.apache.kafka.common.config.Config; import org.apache.kafka.common.config.Config;
import org.apache.kafka.connect.data.Struct; import org.apache.kafka.connect.data.Struct;
import org.apache.kafka.connect.errors.DataException; import org.apache.kafka.connect.errors.DataException;
@ -28,6 +27,7 @@
import io.debezium.config.CommonConnectorConfig; import io.debezium.config.CommonConnectorConfig;
import io.debezium.config.Configuration; import io.debezium.config.Configuration;
import io.debezium.connector.mysql.MySqlConnectorConfig.SecureConnectionMode; import io.debezium.connector.mysql.MySqlConnectorConfig.SecureConnectionMode;
import io.debezium.connector.mysql.MySqlConnectorConfig.SnapshotLockingMode;
import io.debezium.connector.mysql.MySqlConnectorConfig.SnapshotMode; import io.debezium.connector.mysql.MySqlConnectorConfig.SnapshotMode;
import io.debezium.data.Envelope; import io.debezium.data.Envelope;
import io.debezium.doc.FixFor; import io.debezium.doc.FixFor;
@ -238,6 +238,7 @@ public void shouldValidateAcceptableConfiguration() {
* and its replacement snapshot.locking.mode is not explicitly defined, configuration validates as acceptable. * and its replacement snapshot.locking.mode is not explicitly defined, configuration validates as acceptable.
*/ */
@Test @Test
@FixFor("DBZ-602")
public void shouldValidateLockingModeWithMinimalLocksEnabledConfiguration() { public void shouldValidateLockingModeWithMinimalLocksEnabledConfiguration() {
Configuration config = DATABASE.defaultJdbcConfigBuilder() Configuration config = DATABASE.defaultJdbcConfigBuilder()
.with(MySqlConnectorConfig.SSL_MODE, SecureConnectionMode.DISABLED) .with(MySqlConnectorConfig.SSL_MODE, SecureConnectionMode.DISABLED)
@ -253,13 +254,16 @@ public void shouldValidateLockingModeWithMinimalLocksEnabledConfiguration() {
MySqlConnector connector = new MySqlConnector(); MySqlConnector connector = new MySqlConnector();
Config result = connector.validate(config.asMap()); Config result = connector.validate(config.asMap());
assertNoConfigurationErrors(result, MySqlConnectorConfig.SNAPSHOT_LOCKING_MODE); assertNoConfigurationErrors(result, MySqlConnectorConfig.SNAPSHOT_LOCKING_MODE);
assertThat(new MySqlConnectorConfig(config).getSnapshotLockingMode()).isEqualTo(SnapshotLockingMode.MINIMAL);
} }
/** /**
* Validates that if you use the deprecated snapshot.minimal.locking configuration value is set to fa;se * Validates that if you use the deprecated snapshot.minimal.locking configuration value is set to false
* and its replacement snapshot.locking.mode is not explicitly defined, configuration validates as acceptable. * and its replacement snapshot.locking.mode is not explicitly defined, configuration validates as acceptable.
*/ */
@Test @Test
@FixFor("DBZ-602")
public void shouldValidateLockingModeWithOutMinimalLocksEnabledConfiguration() { public void shouldValidateLockingModeWithOutMinimalLocksEnabledConfiguration() {
Configuration config = DATABASE.defaultJdbcConfigBuilder() Configuration config = DATABASE.defaultJdbcConfigBuilder()
.with(MySqlConnectorConfig.SSL_MODE, SecureConnectionMode.DISABLED) .with(MySqlConnectorConfig.SSL_MODE, SecureConnectionMode.DISABLED)
@ -275,6 +279,8 @@ public void shouldValidateLockingModeWithOutMinimalLocksEnabledConfiguration() {
MySqlConnector connector = new MySqlConnector(); MySqlConnector connector = new MySqlConnector();
Config result = connector.validate(config.asMap()); Config result = connector.validate(config.asMap());
assertNoConfigurationErrors(result, MySqlConnectorConfig.SNAPSHOT_LOCKING_MODE); assertNoConfigurationErrors(result, MySqlConnectorConfig.SNAPSHOT_LOCKING_MODE);
assertThat(new MySqlConnectorConfig(config).getSnapshotLockingMode()).isEqualTo(SnapshotLockingMode.EXTENDED);
} }
/** /**
@ -282,6 +288,7 @@ public void shouldValidateLockingModeWithOutMinimalLocksEnabledConfiguration() {
* AND set its replacement snapshot.locking.mode an error will be generated. * AND set its replacement snapshot.locking.mode an error will be generated.
*/ */
@Test @Test
@FixFor("DBZ-602")
public void shouldFailToValidateConflictingLockingModeConfiguration() { public void shouldFailToValidateConflictingLockingModeConfiguration() {
Configuration config = DATABASE.defaultJdbcConfigBuilder() Configuration config = DATABASE.defaultJdbcConfigBuilder()
.with(MySqlConnectorConfig.SSL_MODE, SecureConnectionMode.DISABLED) .with(MySqlConnectorConfig.SSL_MODE, SecureConnectionMode.DISABLED)
@ -306,6 +313,7 @@ public void shouldFailToValidateConflictingLockingModeConfiguration() {
* AND set its replacement snapshot.locking.mode an error will be generated. * AND set its replacement snapshot.locking.mode an error will be generated.
*/ */
@Test @Test
@FixFor("DBZ-602")
public void shouldFailToValidateConflictingLockingModeExtendedConfiguration() { public void shouldFailToValidateConflictingLockingModeExtendedConfiguration() {
Configuration config = DATABASE.defaultJdbcConfigBuilder() Configuration config = DATABASE.defaultJdbcConfigBuilder()
.with(MySqlConnectorConfig.SSL_MODE, SecureConnectionMode.DISABLED) .with(MySqlConnectorConfig.SSL_MODE, SecureConnectionMode.DISABLED)
@ -330,6 +338,7 @@ public void shouldFailToValidateConflictingLockingModeExtendedConfiguration() {
* AND set its replacement snapshot.locking.mode an error will be generated. * AND set its replacement snapshot.locking.mode an error will be generated.
*/ */
@Test @Test
@FixFor("DBZ-602")
public void shouldFailToValidateConflictingLockingModeNoneConfiguration() { public void shouldFailToValidateConflictingLockingModeNoneConfiguration() {
Configuration config = DATABASE.defaultJdbcConfigBuilder() Configuration config = DATABASE.defaultJdbcConfigBuilder()
.with(MySqlConnectorConfig.SSL_MODE, SecureConnectionMode.DISABLED) .with(MySqlConnectorConfig.SSL_MODE, SecureConnectionMode.DISABLED)
@ -354,6 +363,7 @@ public void shouldFailToValidateConflictingLockingModeNoneConfiguration() {
* 'none', 'schema_only', 'schema_only_recovery' * 'none', 'schema_only', 'schema_only_recovery'
*/ */
@Test @Test
@FixFor("DBZ-602")
public void shouldValidateLockingModeNoneWithValidSnapshotModeConfiguration() { public void shouldValidateLockingModeNoneWithValidSnapshotModeConfiguration() {
final List<String> acceptableValues = Arrays.asList( final List<String> acceptableValues = Arrays.asList(
SnapshotMode.NEVER.getValue(), SnapshotMode.NEVER.getValue(),
@ -379,6 +389,8 @@ public void shouldValidateLockingModeNoneWithValidSnapshotModeConfiguration() {
MySqlConnector connector = new MySqlConnector(); MySqlConnector connector = new MySqlConnector();
Config result = connector.validate(config.asMap()); Config result = connector.validate(config.asMap());
assertNoConfigurationErrors(result, MySqlConnectorConfig.SNAPSHOT_LOCKING_MODE); assertNoConfigurationErrors(result, MySqlConnectorConfig.SNAPSHOT_LOCKING_MODE);
assertThat(new MySqlConnectorConfig(config).getSnapshotLockingMode()).isEqualTo(SnapshotLockingMode.NONE);
} }
} }
@ -387,6 +399,7 @@ public void shouldValidateLockingModeNoneWithValidSnapshotModeConfiguration() {
* 'when_needed', 'initial', 'initial_recovery' * 'when_needed', 'initial', 'initial_recovery'
*/ */
@Test @Test
@FixFor("DBZ-602")
public void shouldNotValidateLockingModeNoneWithInvalidSnapshotModeConfiguration() { public void shouldNotValidateLockingModeNoneWithInvalidSnapshotModeConfiguration() {
final List<String> invalidValues = Arrays.asList( final List<String> invalidValues = Arrays.asList(
SnapshotMode.WHEN_NEEDED.getValue(), SnapshotMode.WHEN_NEEDED.getValue(),