couchdb-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Adam Kocoloski <kocol...@apache.org>
Subject Re: Migration Strategy [was Re: Git Repository Creation]
Date Wed, 22 Jan 2014 13:19:41 GMT
On Jan 22, 2014, at 8:13 AM, Dave Cottlehuber <dch@jsonified.com> wrote:

> On 22. Jänner 2014 at 12:42:03, Robert Samuel Newson (rnewson@apache.org) 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 <
>>>>> rnewson@apache.org>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

Hey Dave, nice writeup and I agree with the priorities.  Cloudant will be evaluating R16B03
at some point to see if it's suitable for our production needs.

Adam
Mime
View raw message