fix(event processor): Stop accepting events after stop is called #355
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Summary
Before this change, event processor would continue processing user events after its
stop
method was called. If the batch size limit was reached afterstop
was called, it would dispatch a log event as normal. Worse, the internal queue wasn't being emptied whenstop
was called, which could lead to the same user event being included in two different log events.With this change, the event processor's internal queue stops accepting events after the event processor is stopped. A warning message is logged, but the event is dropped.
Test plan
Updated unit tests. Will manually test upon integration of a new version in optimizely-sdk.