From 63167469c233e0ab4c9d765b9bc3e6bd406889a0 Mon Sep 17 00:00:00 2001 From: Vojtech Juranek Date: Fri, 23 Sep 2022 14:17:11 +0200 Subject: [PATCH] DBZ-4475 Fix randomly failing updatePrimaryKeyTwiceWithRestartInMiddleOfTx Fix randomly failing SqlServerConnectorIT#updatePrimaryKeyTwiceWithRestartInMiddleOfTx Wait for snapshot to be complteted and consume expected number of records. --- .../connector/sqlserver/SqlServerConnectorIT.java | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/debezium-connector-sqlserver/src/test/java/io/debezium/connector/sqlserver/SqlServerConnectorIT.java b/debezium-connector-sqlserver/src/test/java/io/debezium/connector/sqlserver/SqlServerConnectorIT.java index 9e893b190..f66dedbf4 100644 --- a/debezium-connector-sqlserver/src/test/java/io/debezium/connector/sqlserver/SqlServerConnectorIT.java +++ b/debezium-connector-sqlserver/src/test/java/io/debezium/connector/sqlserver/SqlServerConnectorIT.java @@ -639,7 +639,9 @@ public void updatePrimaryKeyTwiceWithRestartInMiddleOfTx() throws Exception { }); assertConnectorIsRunning(); - consumeRecordsByTopic(1); + TestHelper.waitForDatabaseSnapshotToBeCompleted(TestHelper.TEST_DATABASE_1); + final SourceRecords snapshotRecords = consumeRecordsByTopic(1); + Assertions.assertThat(snapshotRecords.allRecordsInOrder()).hasSize(1); connection.setAutoCommit(false); @@ -659,12 +661,14 @@ public void updatePrimaryKeyTwiceWithRestartInMiddleOfTx() throws Exception { start(SqlServerConnector.class, config); assertConnectorIsRunning(); - final SourceRecords records2 = consumeRecordsByTopic(6); + + final int expectedRecords = 20; + final SourceRecords records2 = consumeRecordsByTopic(expectedRecords - records1.allRecordsInOrder().size()); final List tableB = records1.recordsForTopic("server1.testDB1.dbo.tableb"); tableB.addAll(records2.recordsForTopic("server1.testDB1.dbo.tableb")); - Assertions.assertThat(tableB).hasSize(20); + Assertions.assertThat(tableB).hasSize(expectedRecords); stopConnector(); }