Open rturner3 opened 10 months ago
+1 for the merging of experimental config into the feature config, with logging / warnings that an "experimental feature" has been enabled.
Benefits of the approach:
Possible cons:
If we move in this direction, I would suggest that we add an extra "--experimental" flag / config element which permits the process to continue running if an experimental feature is enabled, and without it, the server shuts down with an error detailing that "feature X is enabled in a non-experimental deployment"
For larger features or core changes to the system that are deemed to be higher risk, the project has grown a high-level process for graduating these features from development to GA:
experimental
configuration sectionOver time, some challenges with this process have emerged:
Some early thoughts/questions on ways that we may improve this process:
Testing
Historically the project has not run integration tests exercising features that are planned for graduation from experimental to GA. This generally feels like a miss, since the maintainers' primary view of project stability is through CI builds (PR, nightly, release).
Questions
Feature promotion process
Feature flags and experimental config flags are two disjoint means of disabling functionality by default. Working with both of them as a developer can be obtuse and hard to reason about.
Questions