launchdarkly / ruby-server-sdk

LaunchDarkly Server-side SDK for Ruby
https://docs.launchdarkly.com/sdk/server-side/ruby
Other
34 stars 50 forks source link

fix: Increment flag & segment versions when reloading from file data source #285

Closed keelerm84 closed 2 months ago

keelerm84 commented 3 months ago

The file data source allows specifying flag information as a full flag definition, or as a shorted map of flag key:value mappings.

In the case of the flag values, or in the case of a malformed flag definition, a flag version might not be specified. When this happens, users of the flag tracker will notice an error because the version comparison code will encounter an unexpected nil value.

To prevent this from happening, the file data source should be setting a version for each flag or segment it reads.

When these items are modified in the LaunchDarkly UI, we automatically increment the version associated with the item. To make this easier for the user going forward, the file data source will handle incrementing this version number each time the file is re-read.