Skip to content

Conversation

@w4
Copy link

@w4 w4 commented Mar 16, 2025

This may seem a bit strange at first, but it's extremely useful when a persistent DataStore is filled externally to the LaunchDarkly SDK.

In our particular use case, we implement a PersistentDataStore using an internal blend of Kafka and RocksDB to allow us to isolate the outbound calls towards LD to a single service.

An alternative to this is allowing offline mode to continue reading from the DataStore, but this is a breaking change.

Requirements

  • I have added test coverage for new or changed functionality
  • I have followed the repository's pull request submission guidelines
  • I have validated my changes against all supported platform versions

Related issues

Provide links to any issues in this repository or elsewhere relating to this pull request.

Describe the solution you've provided

Provide a clear and concise description of what you expect to happen.

Describe alternatives you've considered

Provide a clear and concise description of any alternative solutions or features you've considered.

Additional context

Add any other context about the pull request here.

@w4 w4 requested a review from a team as a code owner March 16, 2025 13:07
@w4 w4 changed the title Expose NullDataSourceBuilder from crate root feat: Expose NullDataSourceBuilder from crate root Mar 16, 2025
This may seem a bit strange at first, but it's extremely useful when
a persistent `DataStore` is filled externally to the LaunchDarkly SDK.

In our particular use case, we implement a `PersistentDataStore` using
an internal blend of Kafka and RocksDB to allow us to isolate the
outbound calls towards LD to a single service.

An alternative to this is allowing `offline` mode to continue reading
from the `DataStore`, but this is a breaking change.
@keelerm84
Copy link
Member

Thank you for your contribution.

This may seem a bit strange at first, but it's extremely useful when a persistent DataStore is filled externally to the LaunchDarkly SDK.

Not at all! We actually have a feature for this, called Daemon Mode. The rust SDK doesn't yet have support for it, but it would remove the need to expose this builder, along with the forced initialization method you have added.

I can try to add support for that this week if that's okay with you.

@keelerm84
Copy link
Member

@w4 I took a first pass here. Do you want to try that out and let me know if it works for your needs?

@w4
Copy link
Author

w4 commented Mar 20, 2025

Closing in favour of #110, thanks!

@w4 w4 closed this Mar 20, 2025
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.

2 participants