On 22. Jänner 2014 at 12:42:03, Robert Samuel Newson ([email protected]) wrote:
>
> Benoit,
>
> Cloudant requires R14 support, it would mean our contribution
> to couchdb becomes useless to us and we could not contribute further.
>
> B.
> ...
> >>> wrote:
> >>>> On Tue, Jan 21, 2014 at 3:25 PM, Robert Samuel Newson <
> >>> [email protected]>wrote:
> >>>>
> >>>>> Definitely need to preserve R14 compatibility, that’s
> still the most
> >>>>> stable recent series (as long as you don’t use R14B02)…
> >>>>>
> >>>>
> >>>>
> >>>> I disagree. R14 hasn't been updated since more than 2 years,
> and isn't a
> >>>> supported version by the Erlang community, R17 will be out
> sometimes
> >>> during
> >>>> the spring. Latest versions added many fixes to SSL, improved
> the
> >>>> scheduling and memory usage, the NIF support and added a
> lot of
> >>>> improvements to the binary API. Also latest stables version
> of different
> >>>> distributions don't have any R14 any more (even RHEL).
> …
Hopefully I captured all the key points here;
TL;DR I suggest we:
- finish merges as a priority
- ship a merged release that still supports R14B*
- track things that need newer OTP in a JIRA ticket & deal with them after
merge release
- resolve aged distro problems with ESL packages & OTP releases in future
There are alternatives, obviously to this, such as running 2 separate branches
(2.x cluster, and 1.x feature non-clustered) for a while but that feels too
heavy
for the project to me.
Have I missed anything, does this work for everybody? Any better approaches?
## Project Priorities
1. We are in the middle of major merging. Let’s finish that first. Unless
I’ve missed something, all current code in the tree (rcouch + bigcouch + couch
couch)
is still R14B* compatible.
## OTP Compatibility & support
2. R14 is going to hold both the project & users like Cloudant back sooner or
later
via dependencies e.g. mochiweb
via functionality in core OTP e.g. SSL improvements, native JSON
parsing & maps
via bug fixes (lots wrt to Windows in R15+, or unix TCP socket support)
Specifically for mochiweb (and websocket support as the interesting feature) I
suspect
this could be patchable to work on R14B04.
3. R15* & at least R16B01 and under are still prone to scheduler collapse. I am
not sure if the
“+st <msecs> " hack in R16B02+ eases the pain or not, nor how badly this
impacts heavy
CouchDB users. This is the “wake up all schedulers every <milliseconds> to
prevent collapse"
issue. Read Scott Fritchie’s threads in Erlang-Questions [1] for details & erl
man[2].
4. Distros range from bleeding (arch, gentoo etc) to decaying (LTS Ubuntu,
Centos etc). I
think the general feeling (not quite a consensus) is that you can work around
this by
installing a current Erlang/OTP for most systems from Erlang Solutions, and
you’re done.
To me this feels like a release notes issue, not one we should be using as a
reason to
hold back progress. IMO post merges this will also be resolved as erlang
releases can
be generated.
Are there any other points to be considered?
[1]: http://erlang.org/pipermail/erlang-questions/2013-April/073491.html
[2]: http://www.erlang.org/doc/man/erl.html
A+
Dave