Oh that's fantastic, Joan! Glad to hear it. I'm excited to clear out some of the older Erlang versions, and I would love to see CouchDB and IBM/Cloudant stay more uptodate on Erlang releases. Thanks for all the work on the packaging front, that's awesome to see!
-Russell On Mon, Jan 25, 2021 at 5:12 PM Joan Touzet <woh...@apache.org> wrote: > Hey Russell, have no fear. I'm happy to say your 2014 essay is no longer > an issue :) > > We've been shipping our couchdb binaries with Erlang Solutions' > pre-built Erlang for a very long time now, at least since 2.1.0 and > possibly since 2.0.0 released. When they don't provide it, we build > using kerl. Whatever version of Erlang comes with the OS doesn't matter > at all. In fact, we ship the exact same version of Erlang across every > OS/arch we support today. > > The only limitation is whether or not the specific version of Erlang > will *compile* on that specific OS/arch combo with the features we need > - this usually comes down to the version of openssl shipped by the > distro being compatible with Erlang's ssl module. There was a hiccup in > the transition fom 0.9.8 to 1.0.x, and again from 1.0.x to 1.1.x, but > that's all well in the past now. > > Cheers, > Joan "DRY" Touzet > > On 2021-01-25 3:40 p.m., Russell Branca wrote: > > I'm also +1 to removing Erlang 19. > > > > I wanted to reiterate what Newson said about Erlang Solutions providing > > Erlang packaging, and I think we should more strongly lean on options > like > > this rather than being dependent on the OS distros Erlang versions. Many > > years ago I wrote about the nuances with Erlang versions and CouchDB on > the > > R14/R15/R16 lines [1], and it's worth noting that multiple Debian > versions > > shipped versions of Erlang that were fundamentally broken for use with > > CouchDB. I think we even blocked a number of those versions in the > > rebar.config allowed versions. > > > > I don't know how much of an issue that is today, but there's certainly > > precedent for distro shipped Erlang versions not being an option. > > > > > > -Russell > > > > > > > > [1] > > > https://chewbranca.com/doc/trunk/archive/github/2014-05-07-on-the-viability-of-erlang-releases-and-couchdb.md > > > > > > > > On Mon, Jan 25, 2021 at 5:07 AM Bessenyei Balázs Donát < > bes...@apache.org> > > wrote: > > > >> Thank you all for the input! > >> > >> I'll remove erlang 19 for `couchdb-config` and we'll be able to refer > >> to this thread when we have to remove it anywhere else. > >> > >> > >> Donat > >> > >> On Sat, Jan 23, 2021 at 10:09 PM Adam Kocoloski <kocol...@apache.org> > >> wrote: > >>> > >>> Ah, good research there Joan. +1 to Donat’s suggestion to drop support > >> for 19 from me. > >>> > >>> Adam > >>> > >>>> On Jan 22, 2021, at 4:49 PM, Joan Touzet <woh...@apache.org> wrote: > >>>> > >>>> On 2021-01-22 4:37 p.m., Robert Newson wrote: > >>>>> Innnnteresting. I’m actually surprised at the inversion here (that > >> CouchDB is dependent on IBM to confirm CouchDB’s stability). I’ve > always > >> agonised over even the perception that IBM/Cloudant is calling the > shots. I > >> appreciate the reassurance that running at scale provides, of course, I > >> just don’t think it can be our official position. > >>>> > >>>> It's a tough one. I was pretty aggressive on CouchDB running the very > >> latest until the scheduler collapse problem surfaced. After that, there > was > >> another problem (I can't recall) that was pretty serious too. I took a > >> wait-and-see attitude at that point, and after I didn't see IBM move > >> forward to a newer release, didn't move forward ourselves. Looks like we > >> ended up in deadlock! > >>>> > >>>> However! See your own comments on this: > >>>> > >>>> https://github.com/apache/couchdb/issues/3115#issuecomment-729031967 > >>>> > >>>> I knew there was something at the back of my head on this. Guess we're > >> both getting old ;) > >>>> > >>>>> On the core point of the thread, it seems there’s no barrier to > >> dropping Erlang 19 support, so I think we can go to a VOTE thread, > perhaps > >> best to wait till Monday for others to chime in on this discussion > though. > >>>> > >>>> More important is that we already committed changes on the main repo > >> re: Erlang 19 about 14 months ago by Paul: > >>>> > >>>> > >> > https://github.com/apache/couchdb/commit/3594f2f1fc16903c1c383ebaf205d31c9c17fb3a > >>>> > >>>> I think that makes Donat's request pretty straightforward. > >>>> > >>>>> I also think that IBM Cloudant’s chosen Erlang release is in part > >> influenced by CouchDB’s lack of support for later versions and > requirement > >> of compatible with older releases, which now appears illusory. > >>>> > >>>> If we're ready to move to 21 or 22 as a default, we're ready. Let's > >> hope the serious issues in 21/22 are at least mitigated. I'm happy to > make > >> the 3.3 release (or whatever is next) use the very latest version of 21 > or > >> 22 from GitHub, subject to community recommendations and encouragement. > 23 > >> is still a WIP: https://github.com/apache/couchdb/issues/3115 > >>>> > >>>> -Jon > >>>> > >>>>> B. > >>>>>> On 22 Jan 2021, at 21:19, Joan Touzet <woh...@apache.org> wrote: > >>>>>> > >>>>>> On 22/01/2021 15:48, Robert Newson wrote: > >>>>>>> I’m +1 on dropping Erlang 19 support. Erlang is now on major > >> release 23. > >>>>>> > >>>>>> No problem here. > >>>>>> > >>>>>>> I’d further advocate a general policy of supporting only the most > >> recent 2 or 3 major releases of Erlang/OTP. > >>>>>>> > >>>>>>> The main (I think only?) reason to keep compatibility so far back > >> is because of the versions supported by some OS’es. I don’t feel that > is a > >> strong reason given the couchdb install, in common with Erlang-based > >> projects, is self-contained. The existence of Erlang Solutions packages > for > >> all common platforms is also a factor. > >>>>>> > >>>>>> That hasn't been the case for at least 2 years, if not longer. > >>>>>> > >>>>>> As the release engineer, I've been focused on stability for > everyone. > >>>>>> This is largely driven by knowing that IBM/Cloudant largely run > >> CouchDB > >>>>>> on 20.x at scale. Standing on the shoulders of giants, our releases > >> run > >>>>>> the latest 20.x release at the time of binary generation. > >>>>>> > >>>>>> A few times recently issues cropped up in 21 and 22 that we didn't > >>>>>> encounter in our user base because, at scale, we are deployed on > >>>>>> 20.3.8.something. Some of these issues were non-trivial. (I'm off > >> today, > >>>>>> so I don't have the time to dig into the specifics until Monday.) > >>>>>> > >>>>>> So my $0.02 is that: if IBM/Cloudant is ready to move to something > >> newer > >>>>>> at scale, I'm ready to release binaries on a newer Erlang by > default. > >>>>>> > >>>>>> The alternative (running newer Erlangs in the binary distributions > >> than > >>>>>> IBM/Cloudant run in production) could possibly be perceived as > >> treating > >>>>>> our open source customers as guinea pigs. I'd rather not risk that > >>>>>> perception, but am willing to be convinced otherwise. > >>>>>> > >>>>>> -Joan > >>>>>> > >>>>>>> > >>>>>>> B. > >>>>>>> > >>>>>>>> On 22 Jan 2021, at 19:54, Bessenyei Balázs Donát < > >> bes...@apache.org> wrote: > >>>>>>>> > >>>>>>>> Hi All, > >>>>>>>> > >>>>>>>> CI for https://github.com/apache/couchdb-config appears to be > >> broken. > >>>>>>>> I wanted to fix it in > >>>>>>>> https://github.com/apache/couchdb-config/pull/34/files , but I'm > >>>>>>>> getting issues with erlang 19. Are we okay with dropping 19 > support > >>>>>>>> there? > >>>>>>>> > >>>>>>>> On a different note: are we okay with dropping erlang 19 support > >>>>>>>> overall in couch project(s)? > >>>>>>>> > >>>>>>>> > >>>>>>>> Thank you, > >>>>>>>> Donat > >>>>>>> > >>> > >> > > >