+1

And kxepal:

   10:07 *<vatamane> In the 20.x series don't got below 20.3.8.11  There was a 
nasty monitor
                     related bug in Erlang that davisp fixed 
https://github.com/erlang/otp/commit/bb3f1ed6945a8cca2efa1a571f26e831911944a1

-Joan

----- Original Message -----
From: "Alexander Shorin" <kxe...@gmail.com>
To: dev@couchdb.apache.org
Sent: Thursday, December 20, 2018 11:00:03 AM
Subject: Re: [PROPOSAL] Change the minimum supported Erlang version to OTP 19

+1

P.S. Though I would raise it even to 20. Move fast with the new features!

--
,,,^..^,,,

On Thu, Dec 20, 2018 at 11:55 AM Jay Doane <jay.s.do...@gmail.com> wrote:
>
> Currently, CouchDB requires at least OTP 17 or later to build and run
> [1][2]. However, recent work undertaken to eliminate compiler warnings
> [3][4] has highlighted the additional effort needed to continue to support
> older Erlang versions. Some of the issues that have come up are:
> 1. erlang:now/0 deprecated in OTP 18 [5]
> 2. crypto:rand_uniform/2 deprecated in OTP 20 [6], but no rand module
> pre-OTP 18
> which both require using rebar platform defines [7] and ifdefs [8] to work
> around compiler warnings.
>
> Joan raised the idea that maybe it's time to move to a more recent minimum
> version to simplify the code, and also because there a many compelling new
> features in later versions that we currently cannot use:
> 1. maps introduced in OTP 17, but only became performant for large number
> of entries in OTP 18 [9]
> 2. off heap messages introduced in OTP 19 [10]
>
> Since CouchDB now ships with it's own OTP 19.6.3 Erlang binaries [9], it's
> not clear whether we need to continue supporting OTP 17 and 18. As a bonus,
> removing those versions will also speed up travis builds.
>
> Any thoughts either for or against this proposal?
>
> Best regards,
> Jay
>
> [1] https://github.com/apache/couchdb/blob/master/rebar.config.script#L94
> [2] https://github.com/apache/couchdb/blob/master/.travis.yml#L10
> [3] https://github.com/apache/couchdb-ets-lru/pull/7
> [4] https://github.com/apache/couchdb/pull/1798
> [5] http://erlang.org/doc/apps/erts/time_correction.html
> [6] http://erlang.org/pipermail/erlang-questions/2017-May/092435.html
> [7]
> https://github.com/apache/couchdb/blob/master/src/couch/rebar.config.script#L148-L154
> [8]
> https://github.com/apache/couchdb/blob/master/src/couch/src/couch_rand.erl#L22-L57
> [9] http://erlang.org/download/otp_src_18.0.readme
> [10]
> https://www.erlang-solutions.com/blog/erlang-19-0-garbage-collector.html
> [9] https://github.com/apache/couchdb-ci/blob/master/README.md

Reply via email to