432
}
433
434
>
func (s *HistoryEventsSuite) TestAppendForkSelectTrim_NonLastBranch() {
history_store.go
435
>
treeID := uuid.NewString()
436
>
branchID := uuid.NewString()
437
>
branchToken, err := s.store.GetHistoryBranchUtil().NewHistoryBranch(
438
>
uuid.NewString(),
439
>
uuid.NewString(),
440
>
uuid.NewString(),
441
>
treeID,
442
>
&branchID,
443
>
[]*persistencespb.HistoryBranchRange{},
444
>
time.Duration(0),
445
>
time.Duration(0),
446
>
time.Duration(0),
447
>
)
448
>
s.NoError(err)
449
>
var events0 []*historypb.HistoryEvent
450
>
var events1 []*historypb.HistoryEvent
451
>
452
>
eventsPacket0 := s.newHistoryEvents(
453
>
[]int64{1, 2, 3},
454
>
rand.Int63(),
455
>
0,
456
>
)
457
>
s.appendHistoryEvents(s.ShardID, branchToken, eventsPacket0)
458
>
events0 = append(events0, eventsPacket0.events...)
459
>
events1 = append(events1, eventsPacket0.events...)
460
>
461
>
eventsPacket1 := s.newHistoryEvents(
462
>
[]int64{4, 5},
463
>
eventsPacket0.transactionID+1,
464
>
eventsPacket0.transactionID,
465
>
)
466
>
s.appendHistoryEvents(s.ShardID, branchToken, eventsPacket1)
467
>
events0 = append(events0, eventsPacket1.events...)
468
>
events1 = append(events1, eventsPacket1.events...)
469
>
470
>
s.appendHistoryEvents(s.ShardID, branchToken, s.newHistoryEvents(
471
>
[]int64{4, 5},
472
>
eventsPacket0.transactionID+2,
473
>
eventsPacket0.transactionID,
474
>
))
475
>
476
>
eventsPacket20 := s.newHistoryEvents(
477
>
[]int64{6},
478
>
eventsPacket1.transactionID+2,
479
>
eventsPacket1.transactionID,
480
>
)
481
>
s.appendHistoryEvents(s.ShardID, branchToken, eventsPacket20)
482
>
events0 = append(events0, eventsPacket20.events...)
483
>
484
>
newBranchToken := s.forkHistoryBranch(s.ShardID, branchToken, 6)
485
>
eventsPacket21 := s.newHistoryEvents(
486
>
[]int64{6},
487
>
eventsPacket1.transactionID+3,
488
>
eventsPacket1.transactionID,
489
>
)
490
>
s.appendHistoryEvents(s.ShardID, newBranchToken, eventsPacket21)
491
>
events1 = append(events1, eventsPacket21.events...)
492
>
493
>
if rand.Intn(2)%2 == 0 {
494
s.trimHistoryBranch(s.ShardID, branchToken, eventsPacket20.nodeID, eventsPacket20.transactionID)
496
s.trimHistoryBranch(s.ShardID, newBranchToken, eventsPacket21.nodeID, eventsPacket21.transactionID)
497
}
498
499
>
protorequire.ProtoSliceEqual(s.T(), events0, s.listAllHistoryEvents(s.ShardID, branchToken))
history_store.go
500
>
protorequire.ProtoSliceEqual(s.T(), events1, s.listAllHistoryEvents(s.ShardID, newBranchToken))
501
}
502