Re: [DISCUSS] Removing erlang 19 support
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 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 > >> 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 wrote: > > On 2021-01-22 4:37 p.m., Robert Newson wrote: > > Iteresting. 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:
Re: [DISCUSS] Removing erlang 19 support
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 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 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 wrote: On 2021-01-22 4:37 p.m., Robert Newson wrote: Iteresting. 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 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
Re: [DISCUSS] Removing erlang 19 support
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 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 > 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 wrote: > > > > > > On 2021-01-22 4:37 p.m., Robert Newson wrote: > > >> Iteresting. 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 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
Re: [DISCUSS] Removing erlang 19 support
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 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 wrote: > > > > On 2021-01-22 4:37 p.m., Robert Newson wrote: > >> Iteresting. 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 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 > > 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)? > > >
Re: [DISCUSS] Removing erlang 19 support
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 wrote: > > On 2021-01-22 4:37 p.m., Robert Newson wrote: >> Iteresting. 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 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 > 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
Re: [DISCUSS] Removing erlang 19 support
On 2021-01-22 4:37 p.m., Robert Newson wrote: Iteresting. 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 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 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
Re: [DISCUSS] Removing erlang 19 support
+1 on dropping Erlang 19 It's been a best-effort support for it anyway, if I remember the last discussion about it correctly. I looked at the failure in the CI and it looks like we're failing on the ceil/1 function in couch_emsort.erl. We already shipped 3.1.1 with that change and the commit is 10 months old. We haven't seen much feedback about users not being to run on 19 so far, so don't see a big issue with dropping it officially from CI and rebar.config.script Fair point on following Cloudant's base version, Joan. I was involved with the last transition from 17 to 20 and we spent a significant amount of engineering effort discovering various incompatibilities and even bugs in Erlang 20. Cheers, -Nick On Fri, Jan 22, 2021 at 4:19 PM Joan Touzet 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 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 > >
Re: [DISCUSS] Removing erlang 19 support
Iteresting. 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. 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. 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. B. > On 22 Jan 2021, at 21:19, Joan Touzet 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 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 >>
Re: [DISCUSS] Removing erlang 19 support
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 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 >
Re: [DISCUSS] Removing erlang 19 support
I’m +1 on dropping Erlang 19 support. Erlang is now on major release 23. 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. B. > On 22 Jan 2021, at 19:54, Bessenyei Balázs Donát 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
[DISCUSS] Removing erlang 19 support
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