@@ -53,14 +53,17 @@ func TestOneBlockEvent(t *testing.T) {
53
53
},
54
54
})
55
55
require .NotNil (t , msg )
56
+ key := eventKey {
57
+ blockTs : 10 ,
58
+ isSyncPoint : true ,
59
+ }
56
60
resp := msg .Message [0 ].(* heartbeatpb.HeartBeatResponse )
57
- require .Equal (t , barrier .blockedDispatcher [stm .ID ], barrier .blockedTs [10 ])
58
- event := barrier .blockedTs [10 ]
61
+ event := barrier .blockedTs [key ]
59
62
require .Equal (t , uint64 (10 ), event .commitTs )
60
63
require .True (t , event .writerDispatcher == stm .ID )
61
64
require .True (t , event .selected )
62
65
require .False (t , event .writerDispatcherAdvanced )
63
- require .Nil (t , event .reportedDispatchers )
66
+ require .Len (t , event .reportedDispatchers , 1 )
64
67
require .Equal (t , resp .DispatcherStatuses [0 ].Ack .CommitTs , uint64 (10 ))
65
68
require .Equal (t , resp .DispatcherStatuses [0 ].Action .CommitTs , uint64 (10 ))
66
69
require .Equal (t , resp .DispatcherStatuses [0 ].Action .Action , heartbeatpb .Action_Write )
@@ -72,6 +75,7 @@ func TestOneBlockEvent(t *testing.T) {
72
75
{
73
76
ID : stm .ID .ToPB (),
74
77
State : & heartbeatpb.State {
78
+ BlockTs : 10 ,
75
79
IsBlocked : true ,
76
80
EventDone : true ,
77
81
IsSyncPoint : true ,
@@ -80,7 +84,6 @@ func TestOneBlockEvent(t *testing.T) {
80
84
},
81
85
})
82
86
require .Len (t , barrier .blockedTs , 0 )
83
- require .Len (t , barrier .blockedDispatcher , 0 )
84
87
}
85
88
86
89
func TestNormalBlock (t * testing.T ) {
@@ -171,11 +174,14 @@ func TestNormalBlock(t *testing.T) {
171
174
},
172
175
})
173
176
require .NotNil (t , msg )
174
- require .Equal (t , barrier .blockedDispatcher [selectDispatcherID ], barrier .blockedTs [10 ])
175
- event := barrier .blockedTs [10 ]
177
+ key := eventKey {
178
+ blockTs : 10 ,
179
+ isSyncPoint : false ,
180
+ }
181
+ event := barrier .blockedTs [key ]
176
182
require .Equal (t , uint64 (10 ), event .commitTs )
177
183
require .True (t , event .writerDispatcher == selectDispatcherID )
178
- require .Nil (t , event .reportedDispatchers )
184
+ require .Len (t , event .reportedDispatchers , 3 )
179
185
180
186
// repeated status
181
187
barrier .HandleStatus ("node1" , & heartbeatpb.BlockStatusRequest {
@@ -217,7 +223,7 @@ func TestNormalBlock(t *testing.T) {
217
223
})
218
224
require .Equal (t , uint64 (10 ), event .commitTs )
219
225
require .True (t , event .writerDispatcher == selectDispatcherID )
220
- require .Nil (t , event .reportedDispatchers )
226
+ require .Len (t , event .reportedDispatchers , 3 )
221
227
222
228
// selected node write done
223
229
msg = barrier .HandleStatus ("node2" , & heartbeatpb.BlockStatusRequest {
@@ -234,7 +240,7 @@ func TestNormalBlock(t *testing.T) {
234
240
},
235
241
})
236
242
require .Len (t , barrier .blockedTs , 1 )
237
- require .Len (t , barrier . blockedDispatcher , 2 )
243
+ require .Len (t , event . reportedDispatchers , 2 )
238
244
msg = barrier .HandleStatus ("node1" , & heartbeatpb.BlockStatusRequest {
239
245
ChangefeedID : "test" ,
240
246
BlockStatuses : []* heartbeatpb.TableSpanBlockStatus {
@@ -257,7 +263,6 @@ func TestNormalBlock(t *testing.T) {
257
263
},
258
264
})
259
265
require .Len (t , barrier .blockedTs , 0 )
260
- require .Len (t , barrier .blockedDispatcher , 0 )
261
266
}
262
267
263
268
func TestSchemaBlock (t * testing.T ) {
@@ -336,7 +341,8 @@ func TestSchemaBlock(t *testing.T) {
336
341
require .True (t , resp .DispatcherStatuses [0 ].Ack .CommitTs == 10 )
337
342
require .True (t , resp .DispatcherStatuses [0 ].Action .CommitTs == 10 )
338
343
require .True (t , resp .DispatcherStatuses [0 ].Action .Action == heartbeatpb .Action_Write )
339
- event := barrier .blockedTs [10 ]
344
+ key := eventKey {blockTs : 10 }
345
+ event := barrier .blockedTs [key ]
340
346
require .Equal (t , uint64 (10 ), event .commitTs )
341
347
//the last one will be the writer
342
348
require .Equal (t , event .writerDispatcher .ToPB (), dispatcherIDs [1 ])
@@ -367,7 +373,7 @@ func TestSchemaBlock(t *testing.T) {
367
373
resp = msg .Message [0 ].(* heartbeatpb.HeartBeatResponse )
368
374
require .Len (t , resp .DispatcherStatuses , 1 )
369
375
require .True (t , resp .DispatcherStatuses [0 ].Ack .CommitTs == 10 )
370
- event = barrier .blockedTs [10 ]
376
+ event = barrier .blockedTs [key ]
371
377
require .Equal (t , uint64 (10 ), event .commitTs )
372
378
//the last one will be the writer
373
379
require .Equal (t , event .writerDispatcher .ToPB (), dispatcherIDs [1 ])
@@ -395,7 +401,7 @@ func TestSchemaBlock(t *testing.T) {
395
401
heartbeatpb .Action_Pass )
396
402
require .Len (t , barrier .blockedTs , 1 )
397
403
// the writer already advanced
398
- require .Len (t , barrier . blockedDispatcher , 1 )
404
+ require .Len (t , event . reportedDispatchers , 1 )
399
405
require .Equal (t , 1 , len (sche .Absent ()))
400
406
require .Equal (t , 0 , len (sche .Commiting ()))
401
407
require .Equal (t , 2 , len (sche .Removing ()))
@@ -415,7 +421,6 @@ func TestSchemaBlock(t *testing.T) {
415
421
},
416
422
})
417
423
require .Len (t , barrier .blockedTs , 0 )
418
- require .Len (t , barrier .blockedDispatcher , 0 )
419
424
}
420
425
421
426
func TestSyncPointBlock (t * testing.T ) {
@@ -457,6 +462,7 @@ func TestSyncPointBlock(t *testing.T) {
457
462
TableIDs : dropTables ,
458
463
},
459
464
NeedAddedTables : []* heartbeatpb.Table {newSpan },
465
+ IsSyncPoint : true ,
460
466
},
461
467
},
462
468
{
@@ -473,6 +479,7 @@ func TestSyncPointBlock(t *testing.T) {
473
479
TableIDs : dropTables ,
474
480
},
475
481
NeedAddedTables : []* heartbeatpb.Table {newSpan },
482
+ IsSyncPoint : true ,
476
483
},
477
484
},
478
485
},
@@ -511,7 +518,8 @@ func TestSyncPointBlock(t *testing.T) {
511
518
require .True (t , resp .DispatcherStatuses [0 ].Ack .CommitTs == 10 )
512
519
require .True (t , resp .DispatcherStatuses [0 ].Action .CommitTs == 10 )
513
520
require .True (t , resp .DispatcherStatuses [0 ].Action .Action == heartbeatpb .Action_Write )
514
- event := barrier .blockedTs [10 ]
521
+ key := eventKey {blockTs : 10 , isSyncPoint : true }
522
+ event := barrier .blockedTs [key ]
515
523
require .Equal (t , uint64 (10 ), event .commitTs )
516
524
//the last one will be the writer
517
525
require .Equal (t , event .writerDispatcher .ToPB (), dispatcherIDs [2 ])
@@ -526,7 +534,7 @@ func TestSyncPointBlock(t *testing.T) {
526
534
IsBlocked : true ,
527
535
BlockTs : 10 ,
528
536
EventDone : true ,
529
- IsSyncPoint : false ,
537
+ IsSyncPoint : true ,
530
538
},
531
539
},
532
540
},
@@ -536,7 +544,7 @@ func TestSyncPointBlock(t *testing.T) {
536
544
require .Len (t , msgs , 2 )
537
545
require .Len (t , barrier .blockedTs , 1 )
538
546
// the writer already advanced
539
- require .Len (t , barrier . blockedDispatcher , 2 )
547
+ require .Len (t , event . reportedDispatchers , 2 )
540
548
// other dispatcher advanced checkpoint ts
541
549
msg = barrier .HandleStatus ("node1" , & heartbeatpb.BlockStatusRequest {
542
550
ChangefeedID : "test" ,
@@ -547,7 +555,7 @@ func TestSyncPointBlock(t *testing.T) {
547
555
IsBlocked : true ,
548
556
BlockTs : 10 ,
549
557
EventDone : true ,
550
- IsSyncPoint : false ,
558
+ IsSyncPoint : true ,
551
559
},
552
560
},
553
561
{
@@ -556,13 +564,12 @@ func TestSyncPointBlock(t *testing.T) {
556
564
IsBlocked : true ,
557
565
BlockTs : 10 ,
558
566
EventDone : true ,
559
- IsSyncPoint : false ,
567
+ IsSyncPoint : true ,
560
568
},
561
569
},
562
570
},
563
571
})
564
572
require .Len (t , barrier .blockedTs , 0 )
565
- require .Len (t , barrier .blockedDispatcher , 0 )
566
573
}
567
574
568
575
func TestNonBlocked (t * testing.T ) {
@@ -601,7 +608,6 @@ func TestNonBlocked(t *testing.T) {
601
608
require .True (t , heartbeatpb .InfluenceType_Normal == resp .DispatcherStatuses [0 ].InfluencedDispatchers .InfluenceType )
602
609
require .Equal (t , resp .DispatcherStatuses [0 ].InfluencedDispatchers .DispatcherIDs [0 ], blockedDispatcherIDS [0 ])
603
610
require .Len (t , barrier .blockedTs , 0 )
604
- require .Len (t , barrier .blockedDispatcher , 0 )
605
611
require .Len (t , barrier .controller .Absent (), 2 )
606
612
}
607
613
@@ -630,6 +636,7 @@ func TestSyncPointBlockPerf(t *testing.T) {
630
636
InfluenceType : heartbeatpb .InfluenceType_All ,
631
637
SchemaID : 1 ,
632
638
},
639
+ IsSyncPoint : true ,
633
640
},
634
641
})
635
642
}
0 commit comments