Closed pedroslopez closed 7 months ago
It's been a while now... so... I'm moving this to the icebox
This feels like a symptom of using launch darkly for the wrong purpose. I'd rather avoid a situation where we cannot run syncs during a launch darkly outage. In most cases, using the default should still give us a correct behavior. Flags where we require a consistent uptime should be moved to our internal configuration rather than enforcing this type of dependency.
Agree!
This is not necessary as we move connector version pinning to our database
Let's close this then!
What
When using LaunchDarkly as the feature flag client, the current behavior if the LaunchDarkly service happens to be down is the following:
Using latest known values is fine (2), but the failure mode for (1) is problematic, specially as we get into using LaunchDarkly for overriding connector versions. Reverting to default values can cause problems in the case of going back (or forwards) across major breaking versions of connectors, and can cause unintended consequences. We will also soon have users that are always locked to specific versions of connectors.
We need to guarantee that we won't unintentionally start running a different version of a connector. Following our product principles and that no data is better than wrong data, we should fail syncs if the feature flag client has not been initialized.
Alternatives considered
A more long-term solution that doesn't involve failing syncs would be to utilize LaunchDarkly's persistent data stores feature, which would store the flags in something like Redis that we control. See https://github.com/airbytehq/airbyte-internal-issues/issues/4413 to track this.