Skip to content

Conversation

@kinyoklion
Copy link
Member

@kinyoklion kinyoklion commented Jan 30, 2026

Note

Medium Risk
Introduces new FDv2 file-data loading/watching paths and refactors the legacy FileDataSourceImpl onto them; correctness of update/persist semantics and file-watching behavior could affect SDK initialization and store writes.

Overview
Adds FDv2 support for file-based flag data by introducing FileData.initializer() (one-shot load) and FileData.synchronizer() (optional auto-update watcher), built on a new shared FileDataSourceBase that produces FDv2 ChangeSet/status results and supports configurable duplicate-key handling.

Refactors the legacy FileDataSourceImpl to delegate to the new FileSynchronizer and adapt FDv2 results back into DataSourceUpdateSink.init calls, while adding a new shouldPersist configuration (legacy dataSource() defaults to persisting for backwards compatibility; FDv2 initializer/synchronizer default to not persisting). Also removes the SDK-local IterableAsyncQueue in favor of com.launchdarkly.sdk.collections.IterableAsyncQueue, updates imports/tests accordingly, and bumps launchdarkly-java-sdk-common to 2.2.1.

Written by Cursor Bugbot for commit c3f79d5. This will update automatically on new commits. Configure here.

@kinyoklion kinyoklion force-pushed the rlamb/sdk-1562/fdv2-file-data-source branch from e613d7c to e7ada4d Compare January 30, 2026 21:09
@kinyoklion kinyoklion force-pushed the rlamb/sdk-1562/fdv2-file-data-source branch from e7ada4d to 1a548dd Compare January 30, 2026 21:11
@kinyoklion

This comment was marked as outdated.

@kinyoklion

This comment was marked as outdated.

@kinyoklion
Copy link
Member Author

bugbot review

@kinyoklion kinyoklion marked this pull request as ready for review January 30, 2026 23:52
@kinyoklion kinyoklion requested a review from a team as a code owner January 30, 2026 23:52
@tanderson-ld tanderson-ld self-requested a review February 2, 2026 20:29
Copy link

@cursor cursor bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Cursor Bugbot has reviewed your changes and found 1 potential issue.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants