@@ -175,21 +175,22 @@ public static Stream<Arguments> parameters() {
175
175
176
176
@ ParameterizedTest
177
177
@ MethodSource ("parameters" )
178
- void testReadSingleTableWithSingleParallelism (String tableName , String chunkColumnName )
179
- throws Exception {
178
+ void testReadSingleTableWithSingleParallelism (
179
+ String tableName , String chunkColumnName , String assignEndingFirst ) throws Exception {
180
180
testMySqlParallelSource (
181
181
1 ,
182
182
FailoverType .NONE ,
183
183
FailoverPhase .NEVER ,
184
184
new String [] {tableName },
185
185
tableName ,
186
- chunkColumnName );
186
+ chunkColumnName ,
187
+ assignEndingFirst );
187
188
}
188
189
189
190
@ ParameterizedTest
190
191
@ MethodSource ("parameters" )
191
192
void testReadSingleTableWithSingleParallelismAndSkipBackFill (
192
- String tableName , String chunkColumnName ) throws Exception {
193
+ String tableName , String chunkColumnName , String assignEndingFirst ) throws Exception {
193
194
testMySqlParallelSource (
194
195
1 ,
195
196
DEFAULT_SCAN_STARTUP_MODE ,
@@ -199,77 +200,83 @@ void testReadSingleTableWithSingleParallelismAndSkipBackFill(
199
200
RestartStrategies .fixedDelayRestart (1 , 0 ),
200
201
true ,
201
202
tableName ,
202
- chunkColumnName );
203
+ chunkColumnName ,
204
+ assignEndingFirst );
203
205
}
204
206
205
207
@ ParameterizedTest
206
208
@ MethodSource ("parameters" )
207
- void testReadSingleTableWithMultipleParallelism (String tableName , String chunkColumnName )
208
- throws Exception {
209
+ void testReadSingleTableWithMultipleParallelism (
210
+ String tableName , String chunkColumnName , String assignEndingFirst ) throws Exception {
209
211
testMySqlParallelSource (
210
212
4 ,
211
213
FailoverType .NONE ,
212
214
FailoverPhase .NEVER ,
213
215
new String [] {tableName },
214
216
tableName ,
215
- chunkColumnName );
217
+ chunkColumnName ,
218
+ assignEndingFirst );
216
219
}
217
220
218
221
@ ParameterizedTest
219
222
@ MethodSource ("parameters" )
220
- void testReadMultipleTableWithSingleParallelism (String tableName , String chunkColumnName )
221
- throws Exception {
223
+ void testReadMultipleTableWithSingleParallelism (
224
+ String tableName , String chunkColumnName , String assignEndingFirst ) throws Exception {
222
225
testMySqlParallelSource (
223
226
1 ,
224
227
FailoverType .NONE ,
225
228
FailoverPhase .NEVER ,
226
229
new String [] {tableName , "customers_1" },
227
230
tableName ,
228
- chunkColumnName );
231
+ chunkColumnName ,
232
+ assignEndingFirst );
229
233
}
230
234
231
235
@ ParameterizedTest
232
236
@ MethodSource ("parameters" )
233
- void testReadMultipleTableWithMultipleParallelism (String tableName , String chunkColumnName )
234
- throws Exception {
237
+ void testReadMultipleTableWithMultipleParallelism (
238
+ String tableName , String chunkColumnName , String assignEndingFirst ) throws Exception {
235
239
testMySqlParallelSource (
236
240
4 ,
237
241
FailoverType .NONE ,
238
242
FailoverPhase .NEVER ,
239
243
new String [] {tableName , "customers_1" },
240
244
tableName ,
241
- chunkColumnName );
245
+ chunkColumnName ,
246
+ assignEndingFirst );
242
247
}
243
248
244
249
// Failover tests
245
250
@ ParameterizedTest
246
251
@ MethodSource ("parameters" )
247
- void testTaskManagerFailoverInSnapshotPhase (String tableName , String chunkColumnName )
248
- throws Exception {
252
+ void testTaskManagerFailoverInSnapshotPhase (
253
+ String tableName , String chunkColumnName , String assignEndingFirst ) throws Exception {
249
254
testMySqlParallelSource (
250
255
FailoverType .TM ,
251
256
FailoverPhase .SNAPSHOT ,
252
257
new String [] {tableName , "customers_1" },
253
258
tableName ,
254
- chunkColumnName );
259
+ chunkColumnName ,
260
+ assignEndingFirst );
255
261
}
256
262
257
263
@ ParameterizedTest
258
264
@ MethodSource ("parameters" )
259
- void testTaskManagerFailoverInBinlogPhase (String tableName , String chunkColumnName )
260
- throws Exception {
265
+ void testTaskManagerFailoverInBinlogPhase (
266
+ String tableName , String chunkColumnName , String assignEndingFirst ) throws Exception {
261
267
testMySqlParallelSource (
262
268
FailoverType .TM ,
263
269
FailoverPhase .BINLOG ,
264
270
new String [] {tableName , "customers_1" },
265
271
tableName ,
266
- chunkColumnName );
272
+ chunkColumnName ,
273
+ assignEndingFirst );
267
274
}
268
275
269
276
@ ParameterizedTest
270
277
@ MethodSource ("parameters" )
271
- void testTaskManagerFailoverFromLatestOffset (String tableName , String chunkColumnName )
272
- throws Exception {
278
+ void testTaskManagerFailoverFromLatestOffset (
279
+ String tableName , String chunkColumnName , String assignEndingFirst ) throws Exception {
273
280
testMySqlParallelSource (
274
281
DEFAULT_PARALLELISM ,
275
282
"latest-offset" ,
@@ -278,37 +285,40 @@ void testTaskManagerFailoverFromLatestOffset(String tableName, String chunkColum
278
285
new String [] {tableName , "customers_1" },
279
286
RestartStrategies .fixedDelayRestart (1 , 0 ),
280
287
tableName ,
281
- chunkColumnName );
288
+ chunkColumnName ,
289
+ assignEndingFirst );
282
290
}
283
291
284
292
@ ParameterizedTest
285
293
@ MethodSource ("parameters" )
286
- void testJobManagerFailoverInSnapshotPhase (String tableName , String chunkColumnName )
287
- throws Exception {
294
+ void testJobManagerFailoverInSnapshotPhase (
295
+ String tableName , String chunkColumnName , String assignEndingFirst ) throws Exception {
288
296
testMySqlParallelSource (
289
297
FailoverType .JM ,
290
298
FailoverPhase .SNAPSHOT ,
291
299
new String [] {tableName , "customers_1" },
292
300
tableName ,
293
- chunkColumnName );
301
+ chunkColumnName ,
302
+ assignEndingFirst );
294
303
}
295
304
296
305
@ ParameterizedTest
297
306
@ MethodSource ("parameters" )
298
- void testJobManagerFailoverInBinlogPhase (String tableName , String chunkColumnName )
299
- throws Exception {
307
+ void testJobManagerFailoverInBinlogPhase (
308
+ String tableName , String chunkColumnName , String assignEndingFirst ) throws Exception {
300
309
testMySqlParallelSource (
301
310
FailoverType .JM ,
302
311
FailoverPhase .BINLOG ,
303
312
new String [] {tableName , "customers_1" },
304
313
tableName ,
305
- chunkColumnName );
314
+ chunkColumnName ,
315
+ assignEndingFirst );
306
316
}
307
317
308
318
@ ParameterizedTest
309
319
@ MethodSource ("parameters" )
310
- void testJobManagerFailoverFromLatestOffset (String tableName , String chunkColumnName )
311
- throws Exception {
320
+ void testJobManagerFailoverFromLatestOffset (
321
+ String tableName , String chunkColumnName , String assignEndingFirst ) throws Exception {
312
322
testMySqlParallelSource (
313
323
DEFAULT_PARALLELISM ,
314
324
"latest-offset" ,
@@ -317,33 +327,36 @@ void testJobManagerFailoverFromLatestOffset(String tableName, String chunkColumn
317
327
new String [] {tableName , "customers_1" },
318
328
RestartStrategies .fixedDelayRestart (1 , 0 ),
319
329
tableName ,
320
- chunkColumnName );
330
+ chunkColumnName ,
331
+ assignEndingFirst );
321
332
}
322
333
323
334
@ ParameterizedTest
324
335
@ MethodSource ("parameters" )
325
- void testTaskManagerFailoverSingleParallelism (String tableName , String chunkColumnName )
326
- throws Exception {
336
+ void testTaskManagerFailoverSingleParallelism (
337
+ String tableName , String chunkColumnName , String assignEndingFirst ) throws Exception {
327
338
testMySqlParallelSource (
328
339
1 ,
329
340
FailoverType .TM ,
330
341
FailoverPhase .SNAPSHOT ,
331
342
new String [] {tableName },
332
343
tableName ,
333
- chunkColumnName );
344
+ chunkColumnName ,
345
+ assignEndingFirst );
334
346
}
335
347
336
348
@ ParameterizedTest
337
349
@ MethodSource ("parameters" )
338
- void testJobManagerFailoverSingleParallelism (String tableName , String chunkColumnName )
339
- throws Exception {
350
+ void testJobManagerFailoverSingleParallelism (
351
+ String tableName , String chunkColumnName , String assignEndingFirst ) throws Exception {
340
352
testMySqlParallelSource (
341
353
1 ,
342
354
FailoverType .JM ,
343
355
FailoverPhase .SNAPSHOT ,
344
356
new String [] {tableName },
345
357
tableName ,
346
- chunkColumnName );
358
+ chunkColumnName ,
359
+ assignEndingFirst );
347
360
}
348
361
349
362
@ ParameterizedTest
@@ -681,6 +694,7 @@ void testSourceMetrics(String tableName, String chunkColumnName) throws Exceptio
681
694
.password (customDatabase .getPassword ())
682
695
.deserializer (new StringDebeziumDeserializationSchema ())
683
696
.serverId (getServerId ())
697
+ .serverTimeZone ("UTC" )
684
698
.build ();
685
699
DataStreamSource <String > stream =
686
700
env .fromSource (source , WatermarkStrategy .noWatermarks (), "MySQL CDC Source" );
@@ -1062,15 +1076,17 @@ private void testMySqlParallelSource(
1062
1076
FailoverPhase failoverPhase ,
1063
1077
String [] captureCustomerTables ,
1064
1078
String tableName ,
1065
- String chunkColumnName )
1079
+ String chunkColumnName ,
1080
+ String assignEndingFirst )
1066
1081
throws Exception {
1067
1082
testMySqlParallelSource (
1068
1083
DEFAULT_PARALLELISM ,
1069
1084
failoverType ,
1070
1085
failoverPhase ,
1071
1086
captureCustomerTables ,
1072
1087
tableName ,
1073
- chunkColumnName );
1088
+ chunkColumnName ,
1089
+ assignEndingFirst );
1074
1090
}
1075
1091
1076
1092
private void testMySqlParallelSource (
@@ -1079,7 +1095,8 @@ private void testMySqlParallelSource(
1079
1095
FailoverPhase failoverPhase ,
1080
1096
String [] captureCustomerTables ,
1081
1097
String tableName ,
1082
- String chunkColumnName )
1098
+ String chunkColumnName ,
1099
+ String assignEndingFirst )
1083
1100
throws Exception {
1084
1101
testMySqlParallelSource (
1085
1102
parallelism ,
@@ -1089,7 +1106,8 @@ private void testMySqlParallelSource(
1089
1106
captureCustomerTables ,
1090
1107
RestartStrategies .fixedDelayRestart (1 , 0 ),
1091
1108
tableName ,
1092
- chunkColumnName );
1109
+ chunkColumnName ,
1110
+ assignEndingFirst );
1093
1111
}
1094
1112
1095
1113
private void testMySqlParallelSource (
@@ -1100,7 +1118,8 @@ private void testMySqlParallelSource(
1100
1118
String [] captureCustomerTables ,
1101
1119
RestartStrategies .RestartStrategyConfiguration restartStrategyConfiguration ,
1102
1120
String tableName ,
1103
- String chunkColumnName )
1121
+ String chunkColumnName ,
1122
+ String assignEndingFirst )
1104
1123
throws Exception {
1105
1124
testMySqlParallelSource (
1106
1125
parallelism ,
@@ -1111,7 +1130,8 @@ private void testMySqlParallelSource(
1111
1130
restartStrategyConfiguration ,
1112
1131
false ,
1113
1132
tableName ,
1114
- chunkColumnName );
1133
+ chunkColumnName ,
1134
+ assignEndingFirst );
1115
1135
}
1116
1136
1117
1137
private void testMySqlParallelSource (
0 commit comments