Re: [PROPOSAL] Change the minimum supported Erlang version to OTP 19

2018-12-20 Thread Nick Vatamaniuc
+1

Good call, Jay!

On Thu, Dec 20, 2018 at 11:29 AM Alexander Shorin  wrote:

> On Thu, Dec 20, 2018 at 7:17 PM Joan Touzet  wrote
> >10:07 * 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
> >
>
> Oh...I missed that. Thanks! Well, let's rise our bets up to 21? (:
> Anyway, I'm fine with R19.
>
> --
> ,,,^..^,,,
>


Re: [PROPOSAL] Change the minimum supported Erlang version to OTP 19

2018-12-20 Thread Alexander Shorin
On Thu, Dec 20, 2018 at 7:17 PM Joan Touzet  wrote
>10:07 * 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
>

Oh...I missed that. Thanks! Well, let's rise our bets up to 21? (:
Anyway, I'm fine with R19.

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


Re: [PROPOSAL] Change the minimum supported Erlang version to OTP 19

2018-12-20 Thread Joan Touzet
+1

And kxepal:

   10:07 * 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" 
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  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


Re: [PROPOSAL] Change the minimum supported Erlang version to OTP 19

2018-12-20 Thread Alexander Shorin
+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  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


Re: [PROPOSAL] Change the minimum supported Erlang version to OTP 19

2018-12-20 Thread Paul Davis
+1
On Thu, Dec 20, 2018 at 8:15 AM Eiri  wrote:
>
> +1
>
>
> > On Dec 20, 2018, at 04:55, Jay Doane  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
>


Re: [PROPOSAL] Change the minimum supported Erlang version to OTP 19

2018-12-20 Thread Eiri
+1


> On Dec 20, 2018, at 04:55, Jay Doane  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



Re: [PROPOSAL] Change the minimum supported Erlang version to OTP 19

2018-12-20 Thread Jan Lehnardt
Good proposal, thanks Jay!

In the past we looked at what distributions had which Erlang version
available, but over the years this has become increasingly difficult,
as a) distros would do weird things to the OTP distribution and
b) would not update quite quickly.

With our advent of binary packages for most users, I think we neatly
side-step this issue, so we are now in a better position to raise the
oldest Erlang version we support.

A long way of saying: +1.

Best
Jan
—

> On 20. Dec 2018, at 09:55, Jay Doane  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

-- 
Professional Support for Apache CouchDB:
https://neighbourhood.ie/couchdb-support/



Re: [PROPOSAL] Change the minimum supported Erlang version to OTP 19

2018-12-20 Thread Robert Samuel Newson
+1

> On 20 Dec 2018, at 08:55, Jay Doane  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



[PROPOSAL] Change the minimum supported Erlang version to OTP 19

2018-12-20 Thread Jay Doane
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