Skip to content

Improve Snapshot options allowing in-memory only option #241

@petruki

Description

@petruki

Is your feature request related to a problem? Please describe.
Configuring the client SDK to use snapshot can be a bit confusing given the amount of context settings available.
The initial idea was to be flexible when handling snapshot files, which lead to various constraints created in order for the client SDK to understand how to use snapshot internally.

Many configuration options are available to handle snapshots such as

  • snapshotFile
  • snapshotLocation
  • snapshotAutoLoad
  • snapshotAutoUpdateInterval
  • silentMode
  • offlineMode

Those options are highly coupled and need a certain combination to work as intended.
The client SDK can handle the validation, however, the learning curve to use all these possibilities will add to the learning curve and simplicity, which is the main focus of the Switcher API.

Describe the solution you'd like
Eliminate options that do not add value to the flexibility of the SDK.
Remove snapshotFile, as this option should be compliant with the snapshotLocation + environment.

Allow snapshots to be in-memory managed only.
Some applications may not have permission to write in a volume, therefore, options such as zero-latency will no longer be an option.
When snapshotLocation is not specified, the snapshot should be stored in memory.

Remove constraints imposed by contextValidation and pre-define settings given feature intent.
For example, if developers want to use silentMode, it's fundamental that snapshotAutoLoad needs to be enabled, otherwise, when the silentMode is triggerd, the snapshot was not load.
Similarly, the snapshotAutoUpdateInterval should automatically enable that option when a valid value is used.

Metadata

Metadata

Assignees

Labels

enhancementNew feature or request

Type

No type
No fields configured for issues without a type.

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions