Historical examples are anything that you wouldn’t bet your job on for the first release:
Udf/uda in 2.2 Incremental repair - would have yanked the flag following 9143 SASI - probably still experimental Counters - all sorts of correctness issues originally, no longer true since the rewrite in 2.1 Vnodes - or at least shuffle CDC - is the API going to change or is it good as-is? CQL - we’re on v3, what’s that say about v1? Basically anything where we can’t definitively say “this feature is going to work for you, build your product on it” because companies around the world are trying to make that determination on their own, and they don’t have the same insight that the active committers have. The transition out we could define as a fixed number of releases or a dev@ vote, I don’t think you’ll find something that applies to all experimental features, so being flexible is probably the best bet there -- Jeff Jirsa > On Oct 1, 2017, at 3:12 AM, Marcus Eriksson <krum...@gmail.com> wrote: > > I was just thinking that we should try really hard to avoid adding > experimental features - they are experimental due to lack of testing right? > There should be a clear path to making the feature non-experimental (or get > it removed) and having that path discussed on dev@ might give more > visibility to it. > > I'm also struggling a bit to find good historic examples of "this would > have been better off as an experimental feature" - I used to think that it > would have been good to commit DTCS with some sort of experimental flag, > but that would not have made DTCS any better - it would have been better to > do more testing, realise that it does not work and then not commit it at > all of course. > > Does anyone have good examples of features where it would have made sense > to commit them behind an experimental flag? SASI might be a good example, > but for MVs - if we knew how painful they would be, they really would not > have gotten committed at all, right? > > /Marcus > >> On Sat, Sep 30, 2017 at 7:42 AM, Jeff Jirsa <jji...@gmail.com> wrote: >> >> Reviewers should be able to suggest when experimental is warranted, and >> conversation on dev+jira to justify when it’s transitioned from >> experimental to stable? >> >> We should remove the flag as soon as we’re (collectively) confident in a >> feature’s behavior - at least correctness, if not performance. >> >> >>> On Sep 29, 2017, at 10:31 PM, Marcus Eriksson <krum...@gmail.com> wrote: >>> >>> +1 on marking MVs experimental, but should there be some point in the >>> future where we consider removing them from the code base unless they >> have >>> gotten significant improvement as well? >>> >>> We probably need to enforce some kind of process for adding new >>> experimental features in the future - perhaps a mail like this one to >> dev@ >>> motivating why it should be experimental? >>> >>> /Marcus >>> >>> On Sat, Sep 30, 2017 at 1:15 AM, Vinay Chella >> <vche...@netflix.com.invalid> >>> wrote: >>> >>>> We tried perf testing MVs internally here but did not see good results >> with >>>> it, hence paused its usage. +1 on tagging certain features which are not >>>> PROD ready or not stable enough. >>>> >>>> Regards, >>>> Vinay Chella >>>> >>>>> On Fri, Sep 29, 2017 at 7:22 PM, Ben Bromhead <b...@instaclustr.com> >> wrote: >>>>> >>>>> I'm a fan of introducing experimental flags in general as well, +1 >>>>> >>>>> >>>>> >>>>>> On Fri, 29 Sep 2017 at 13:22 Jon Haddad <j...@jonhaddad.com> wrote: >>>>>> >>>>>> I’m very much +1 on this, and to new features in general. >>>>>> >>>>>> I think having a clear line in which we classify something as >>>> production >>>>>> ready would be nice. It would be great if committers were using the >>>>>> feature in prod and could vouch for it’s stability. >>>>>> >>>>>>> On Sep 29, 2017, at 1:09 PM, Blake Eggleston <beggles...@apple.com> >>>>>> wrote: >>>>>>> >>>>>>> Hi dev@, >>>>>>> >>>>>>> I’d like to propose that we retroactively classify materialized views >>>>> as >>>>>> an experimental feature, disable them by default, and require users to >>>>>> enable them through a config setting before using. >>>>>>> >>>>>>> Materialized views have several issues that make them (effectively) >>>>>> unusable in production. Some of the issues aren’t just implementation >>>>>> problems, but problems with the design that aren’t easily fixed. It’s >>>>>> unfair of us to make features available to users in this state without >>>>>> providing a clear warning that bad or unexpected things are likely to >>>>>> happen if they use it. >>>>>>> >>>>>>> Obviously, this isn’t great news for users that have already adopted >>>>>> MVs, and I don’t have a great answer for that. I think that’s sort of >> a >>>>>> sunk cost at this point. If they have any MV related problems, they’ll >>>>> have >>>>>> them whether they’re marked experimental or not. I would expect this >> to >>>>>> reduce the number of users adopting MVs in the future though, and if >>>> they >>>>>> do, it would be opt-in. >>>>>>> >>>>>>> Once MVs reach a point where they’re usable in production, we can >>>>> remove >>>>>> the flag. Specifics of how the experimental flag would work can be >>>>> hammered >>>>>> out in a forthcoming JIRA, but I’d imagine it would just prevent users >>>>> from >>>>>> creating new MVs, and maybe log warnings on startup for existing MVs >> if >>>>> the >>>>>> flag isn’t enabled. >>>>>>> >>>>>>> Let me know what you think. >>>>>>> >>>>>>> Thanks, >>>>>>> >>>>>>> Blake >>>>>> >>>>>> >>>>>> --------------------------------------------------------------------- >>>>>> To unsubscribe, e-mail: dev-unsubscr...@cassandra.apache.org >>>>>> For additional commands, e-mail: dev-h...@cassandra.apache.org >>>>>> >>>>>> -- >>>>> Ben Bromhead >>>>> CTO | Instaclustr <https://www.instaclustr.com/> >>>>> +1 650 284 9692 >>>>> Reliability at Scale >>>>> Cassandra, Spark, Elasticsearch on AWS, Azure, GCP and Softlayer >>>>> >>>> >> >> --------------------------------------------------------------------- >> To unsubscribe, e-mail: dev-unsubscr...@cassandra.apache.org >> For additional commands, e-mail: dev-h...@cassandra.apache.org >> >> --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@cassandra.apache.org For additional commands, e-mail: dev-h...@cassandra.apache.org