-
Notifications
You must be signed in to change notification settings - Fork 48
Description
Hi,
I faced with 2 scenarios which is uncovered by specification but they looks very important for dynamic-context paradigm.
Both scenarios actually linked with atomicity of configuration in admin system and data consistency.
-
If we have some configuration in admin we want to have guarantees that multiple calls of flags will be executed on same version of this configuration. Because if we perform two calls to get 'foo' and 'bar' so between requesting 'bar' configuration in admin may be changed and cause inconsistent state due to foo was already received with previous version.
-
One more case related to atomicity but also crucial to avoid multiple request instead single request. For example using some flow we use 2 or more flags. So we need to make 2 or more calls by network to get evaluation for same context (for example targetingKey/userId).
So in additional to problem related to consistency we also have additional network calls which also can be failed and dramatically increase overall latency to process some business request/payload.
I want propose to add new API method to request flags in bulk mode with some specified evaluation context for all of them.
Looks like:
List/Map evaluations = client.getBulkEvaluation(flagsAndDefaults, evaluationContext)
Where flagsAndDefault should represent name of flag and associated default. It also can be map/dict or some structure.