You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: airbyte-integrations/connectors/source-mysql/src/main/kotlin/io/airbyte/integrations/source/mysql/cdc/MySqlDebeziumOperations.kt
+11-4Lines changed: 11 additions & 4 deletions
Original file line number
Diff line number
Diff line change
@@ -146,11 +146,19 @@ class MySqlDebeziumOperations(
146
146
return abortCdcSync()
147
147
}
148
148
}
149
+
if (!savedGtidSet.isEmpty) {
150
+
// If the connector has saved GTID set, we will use that to validate and skip
151
+
// binlog validation. GTID and binlog works in an independent way to ensure data
152
+
// integrity where GTID is for storing transactions and binlog is for storing changes
153
+
// in DB.
154
+
returnCdcStateValidateResult.VALID
155
+
}
149
156
val existingLogFiles:List<String> = getBinaryLogFileNames()
150
157
val found = existingLogFiles.contains(savedStateOffset.position.fileName)
151
158
if (!found) {
152
159
log.info {
153
-
"Connector last known binlog file ${savedStateOffset.position.fileName} is not found in the server"
160
+
"Connector last known binlog file ${savedStateOffset.position.fileName} is "+
161
+
"not found in the server. Server has $existingLogFiles"
154
162
}
155
163
return abortCdcSync()
156
164
}
@@ -277,13 +285,12 @@ class MySqlDebeziumOperations(
277
285
}
278
286
279
287
privatefungetBinaryLogFileNames(): List<String> {
280
-
val logNameField =Field("Log_name", StringFieldType)
288
+
// Very old Mysql version (4.x) has different output of SHOW BINARY LOGS output.
0 commit comments