Skip to content

Commit b3464e4

Browse files
committed
prevent event fire with only changenumber update
1 parent dd0786c commit b3464e4

2 files changed

Lines changed: 16 additions & 10 deletions

File tree

src/Splitio/Services/Cache/Classes/InMemoryRuleBasedSegmentCache.cs

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -63,12 +63,15 @@ public void Update(List<RuleBasedSegment> toAdd, List<string> toRemove, long til
6363
}
6464

6565
SetChangeNumber(till);
66-
Task task = new Task(() =>
66+
if (toAdd.Count > 0 || toRemove.Count > 0)
6767
{
68-
_internalEventsTask.AddToQueue(SdkInternalEvent.RuleBasedSegmentsUpdated,
69-
new EventMetadata(SdkEventType.SegmentsUpdate, new List<string>())).ContinueWith(OnAddToQueueFailed, TaskContinuationOptions.OnlyOnFaulted);
70-
});
71-
task.Start();
68+
Task task = new Task(() =>
69+
{
70+
_internalEventsTask.AddToQueue(SdkInternalEvent.RuleBasedSegmentsUpdated,
71+
new EventMetadata(SdkEventType.SegmentsUpdate, new List<string>())).ContinueWith(OnAddToQueueFailed, TaskContinuationOptions.OnlyOnFaulted);
72+
});
73+
task.Start();
74+
}
7275
}
7376

7477
public void SetChangeNumber(long changeNumber)

src/Splitio/Services/Cache/Classes/InMemorySplitCache.cs

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -78,12 +78,15 @@ public void Update(List<ParsedSplit> toAdd, List<string> toRemove, long till)
7878
}
7979

8080
SetChangeNumber(till);
81-
Task task = new Task(() =>
81+
if (eventsFlags.Any())
8282
{
83-
_internalEventsTask.AddToQueue(SdkInternalEvent.FlagsUpdated,
84-
new EventMetadata(SdkEventType.FlagsUpdate, eventsFlags)).ContinueWith(OnAddToQueueFailed, TaskContinuationOptions.OnlyOnFaulted);
85-
});
86-
task.Start();
83+
Task task = new Task(() =>
84+
{
85+
_internalEventsTask.AddToQueue(SdkInternalEvent.FlagsUpdated,
86+
new EventMetadata(SdkEventType.FlagsUpdate, eventsFlags)).ContinueWith(OnAddToQueueFailed, TaskContinuationOptions.OnlyOnFaulted);
87+
});
88+
task.Start();
89+
}
8790
}
8891

8992
public void SetChangeNumber(long changeNumber)

0 commit comments

Comments
 (0)