You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@couchdb.apache.org by gi...@git.apache.org on 2017/04/27 14:40:22 UTC

[GitHub] davisp opened a new pull request #495: Couchdb 3288 mixed cluster upgrade

davisp opened a new pull request #495: Couchdb 3288 mixed cluster upgrade
URL: https://github.com/apache/couchdb/pull/495
 
 
   ## Overview
   
   This is preparatory work for adding pluggable storage engines. The motivation for this ground work is to enable users to perform rolling reboots of clusters. As such there are a few things that need to change to make that happen.
   
   1. Remove the public definition of `#db{}`
   2. Add a new fabric_rpc:create_db/2 that accepts an options list
   3. Create a template of the new `#db{}` for forwards compatibility
   
   The removal of the `#db{}` definition is what's responsible for 99% of these changes. And while there is a decent amount of code churn here its nearly all quite straightforward changes from `Db#db.name` to `couch_db:name(Db)` type changes so theoretically this should be a pretty quick review.
   
   The only somewhat difficult bits are when we were matching a `#db{}` record in a function head. For the most part this was just to extract fields from the record so those are easily reviewed. Though there are a few cases in the replicator that were using it to tell the different between `#db{}` and `#httpd{}`. For those we have to switch the order of clauses to pull out the `#httpd{}` logic first.
   
   
   ## Testing recommendations
   
   There's no behavior changes so the existing test suite covers the existing logic.
   
   ## JIRA issue number
   
   https://issues.apache.org/jira/browse/COUCHDB-3288
   
   ## Related Pull Requests
   
   I'm going to open a PR for COUCHDB-3287 which is the main PSE work that will be asking to merge into this PR. This is purely for the sake of review-ability. When we go to merge these we'll merge this PR first, and then merge 3287 into master. I expect the review of this work to take at least a couple weeks since it is quite a large change to the core bit of the database.
   
   ## Checklist
   
   - [ ] Code is written and works correctly;
   - [ ] Changes are covered by tests;
   - [ ] Documentation reflects the changes;
   
 
----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
users@infra.apache.org


With regards,
Apache Git Services