Comments (4)
Hey @liran2000, thanks for the detailed issue. I think it's important to document the start-up behavior so developers can decide how they would like to handle various failure conditions. It's a goal of the OpenFeature SDK never to break an application. That's one reason the default value is returned if the call to the provider fails. In some situations, this may not be ideal because it could lead to inconsistent behavior across the application. To address this, we could document how a developer could wait for the provider-ready event to fire before starting the application. Unfortunately, this could cause an endless re-creation loop in some environments, but that would be up to the developer to decide the behavior they want.
I don't think OpenFeature should standardize local caching behavior, but I would be interested in others' thoughts. A provider could support caching already without any changes to the spec. It also would be very provider specific because the rulesets and communication vary across tools. I would recommend this stays a provider concern until a reusable pattern emerges.
from spec.
I tend to agree with @beeme1mr, even if having a standard way to manage cache will be helpful for people creating some providers, I am not sure that the needs are similar enough to be standardized by Openfeature.
from spec.
While this is an interesting idea, I see this responsibility to be a part of Provider implementation. As others have highlighted, I also think this is not required to be enforced by the OpenFeature specification. On the other hand, if we need to implement this from SDK itself, then we will need to define a common feature flag configuration structure to use with storage de/serialization. Unfortunately, we do not have such a common structure.
from spec.
This is out of scope for the time being. Please feel free to create documentation or write a blog that would help provider authors better support initialization issues.
from spec.
Related Issues (20)
- Spec styling and consistency issues HOT 2
- [Question] `API.shutdown()` required in Go? HOT 5
- [Question] Static vs Dynamic context terminology HOT 1
- [bug] Multiple providers bound to one "name", and associated issues HOT 11
- Spec could be more clear about named-client/provider binding. Would "namespace" help? HOT 6
- Consider 0.7.0 release HOT 1
- Specify provider state after `shutdown()` HOT 8
- [Static-context Paradigm] How to handle errors in `on context changed` HOT 2
- Any plans to create feature flag code management project? HOT 5
- Manage context per named provider when using the static-context paradigm HOT 1
- Set context during provider registration when using the static-context paradigm HOT 3
- Redefine named clients as domain
- Clarification of reason for evaluation detail and evaluation. HOT 2
- DOC:Best practices or Cases HOT 10
- Proposal to move `Provider Status` field from provider to SDK, refine semantics around ContextChange events HOT 22
- Multi Provider for OpenFeature HOT 6
- tooling: Publish repo spec compliance docker container to github packages HOT 1
- Document compliance differences between different sdks HOT 4
- Consider the ability to opt-out from automatic functionality such as automatic provider ready events. HOT 16
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from spec.