Skip to content

Enable per-identity overrides in Local Evaluation mode #1762

@dabeeeenster

Description

@dabeeeenster

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?

Metadata

Metadata

Labels

apiIssue related to the REST APIedge-apiRelated to edge.api.flagsmith.comfeatureNew feature or requestsdkIssues related to the SDKs

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions