260
}
261
262
>
func (s *HistoryEventsSuite) TestAppendForkSelect_Shadowing_NonLastBranch() {
history_store.go
263
>
treeID := uuid.NewString()
264
>
branchID := uuid.NewString()
265
>
branchToken, err := s.store.GetHistoryBranchUtil().NewHistoryBranch(
266
>
uuid.NewString(),
267
>
uuid.NewString(),
268
>
uuid.NewString(),
269
>
treeID,
270
>
&branchID,
271
>
[]*persistencespb.HistoryBranchRange{},
272
>
time.Duration(0),
273
>
time.Duration(0),
274
>
time.Duration(0),
275
>
)
276
>
s.NoError(err)
277
>
var events0 []*historypb.HistoryEvent
278
>
var events1 []*historypb.HistoryEvent
279
>
280
>
eventsPacket0 := s.newHistoryEvents(
281
>
[]int64{1, 2, 3},
282
>
rand.Int63(),
283
>
0,
284
>
)
285
>
s.appendHistoryEvents(s.ShardID, branchToken, eventsPacket0)
286
>
events0 = append(events0, eventsPacket0.events...)
287
>
events1 = append(events1, eventsPacket0.events...)
288
>
289
>
s.appendHistoryEvents(s.ShardID, branchToken, s.newHistoryEvents(
290
>
[]int64{4, 5},
291
>
eventsPacket0.transactionID+1,
292
>
eventsPacket0.transactionID,
293
>
))
294
>
295
>
eventsPacket1 := s.newHistoryEvents(
296
>
[]int64{4, 5},
297
>
eventsPacket0.transactionID+2,
298
>
eventsPacket0.transactionID,
299
>
)
300
>
s.appendHistoryEvents(s.ShardID, branchToken, eventsPacket1)
301
>
events0 = append(events0, eventsPacket1.events...)
302
>
events1 = append(events1, eventsPacket1.events...)
303
>
304
>
eventsPacket20 := s.newHistoryEvents(
305
>
[]int64{6},
306
>
eventsPacket1.transactionID+1,
307
>
eventsPacket1.transactionID,
308
>
)
309
>
s.appendHistoryEvents(s.ShardID, branchToken, eventsPacket20)
310
>
events0 = append(events0, eventsPacket20.events...)
311
>
312
>
newBranchToken := s.forkHistoryBranch(s.ShardID, branchToken, 6)
313
>
eventsPacket21 := s.newHistoryEvents(
314
>
[]int64{6},
315
>
eventsPacket1.transactionID+2,
316
>
eventsPacket1.transactionID,
317
>
)
318
>
s.appendHistoryEvents(s.ShardID, newBranchToken, eventsPacket21)
319
>
events1 = append(events1, eventsPacket21.events...)
320
>
321
>
protorequire.ProtoSliceEqual(s.T(), eventsPacket0.events, s.listHistoryEvents(s.ShardID, branchToken, common.FirstEventID, 4))
322
>
protorequire.ProtoSliceEqual(s.T(), eventsPacket0.events, s.listHistoryEvents(s.ShardID, newBranchToken, common.FirstEventID, 4))
323
>
protorequire.ProtoSliceEqual(s.T(), eventsPacket1.events, s.listHistoryEvents(s.ShardID, branchToken, 4, 6))
324
>
protorequire.ProtoSliceEqual(s.T(), eventsPacket1.events, s.listHistoryEvents(s.ShardID, newBranchToken, 4, 6))
325
>
protorequire.ProtoSliceEqual(s.T(), eventsPacket20.events, s.listHistoryEvents(s.ShardID, branchToken, 6, 7))
326
>
protorequire.ProtoSliceEqual(s.T(), eventsPacket21.events, s.listHistoryEvents(s.ShardID, newBranchToken, 6, 7))
327
>
protorequire.ProtoSliceEqual(s.T(), events0, s.listAllHistoryEvents(s.ShardID, branchToken))
328
>
protorequire.ProtoSliceEqual(s.T(), events1, s.listAllHistoryEvents(s.ShardID, newBranchToken))
329
>
}
330
331
func (s *HistoryEventsSuite) TestAppendForkSelect_Shadowing_LastBranch() {