Skip to content

Commit 2a131de

Browse files
committed
test: remove batch pause from stress test, use batch writes
Remove BatchIf pause during concurrent writes so notifications flow freely through bidirectional pipelines, maximizing contention. Use Edit(batch) instead of per-item AddOrUpdate for larger changesets.
1 parent e4e0a09 commit 2a131de

1 file changed

Lines changed: 2 additions & 2 deletions

File tree

src/DynamicData.Tests/Cache/CrossCacheDeadlockStressTest.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -608,7 +608,7 @@ void TrackIntoCache(IObservable<IChangeSet<StressMarket, int>> pipeline, SourceC
608608
writerTasks.Add(Task.Run(() =>
609609
{
610610
barrier.SignalAndWait();
611-
foreach (var m in slice) sourceA.AddOrUpdate(m);
611+
sourceA.Edit(updater => { foreach (var m in slice) updater.AddOrUpdate(m); });
612612
for (var i = 0; i < ratingMutations; i++)
613613
slice[tRand.Number(0, slice.Count - 1)].Rating = tRand.Double(RatingMin, RatingMax);
614614
for (var i = 0; i < regionMutations; i++)
@@ -624,7 +624,7 @@ void TrackIntoCache(IObservable<IChangeSet<StressMarket, int>> pipeline, SourceC
624624
writerTasks.Add(Task.Run(() =>
625625
{
626626
barrier.SignalAndWait();
627-
foreach (var m in slice) sourceB.AddOrUpdate(m);
627+
sourceB.Edit(updater => { foreach (var m in slice) updater.AddOrUpdate(m); });
628628
for (var i = 0; i < ratingMutations; i++)
629629
slice[tRand.Number(0, slice.Count - 1)].Rating = tRand.Double(RatingMin, RatingMax);
630630
barrier.SignalAndWait();

0 commit comments

Comments
 (0)