-
Notifications
You must be signed in to change notification settings - Fork 466
Description
Overview
There is currently a functional deficiency in running the SDKs in Local Evaluation mode in that they ignore Identity overrides. This issue seeks to fix that deficiency. To do this, we plan to implement an (optional) limit to the number of Identity overrides per Environment.
Caveats that would be solved by Identity limiting
Allow for Identity overrides in Local Evaluation mode
When running the server side SDKs in Local Evaluation mode, we don't store any of the Identity overrides in the GET Environment Document endpoint as it could contain unlimited data. If we limited the number of Identity overrides, we could include that either in the main Environment document or as a supplementary endpoint. With these two pieces of data, local evaluation mode would include Identity Overrides.
Show identity overrides for an environment
When moving to Edge, we removed the option of seeing a list of Indentities that are overriding a particular Environment, as we have no index that can form this data. Limiting the number of overrides would allow us to store this data as a single large object of denormalised data. We could then reintroduce this view.
Technical Approach
If we limited the number of Identity overrides we could store the override data as a single piece, either in the main Environment document or as a supplementary endpoint. With these two pieces of data, local evaluation mode would include Identity Overrides.
Questions and Complications
- Would the limit be based on the number of identity overrides or the total amount of data they consume?
- What would the limit be?
- DynamoDB has a max document size of 400kb.
- What would we do with existing Edge overrides?
- If we do this, the only easily accessible source of identity override data in Edge is the Dynamo Environment Document. Are we ok reading then writing to this?