How should we transition one feature from the "experimental" state to "production ready" state ? On which criteria ?
On Sun, Oct 1, 2017 at 12:12 PM, 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 > > > > >