Release Candidates

This is the fifth in a series of blog posts introducing the Apache CouchDB 2.0 release. Read parts one, twothree, and four in the series. 

Today I’d like to talk to you about the CouchDB 2.0 Release Candidates (RCs). On a regular schedule, the CouchDB Project Management Committee (PMC) releases RCs. These releases represent the completion of years of work towards CouchDB 2.0, and deserve your full attention. Very shortly, the RC cycle will be done – and your opportunity to report any last-minute problems you encounter will close. Please help us release the best possible CouchDB 2.0 we can by testing these release candidates thoroughly.

IMPORTANT

To our valued CouchDB application and library developers: please, please run your software against each of the options below. We hope that there are minimal changes necessary to your application, but if necessary fix any issues in your software so that it is ready to go with CouchDB 2.0.

If you encounter any issues that break your application irrevocably, please report them to us. You can do so through our JIRA bug tracker, or if you have questions, contact us at the user mailing list or via text chat.

Testing an RC yourself

To try out an RC, you can install it as a single node (a la CouchDB 1.x), a 3-node development cluster, or in an n-node configuration. First, download and unpacking the relevant apache-couchdb-2.0.0-RC#.tar.gz package, You’ll then need to compile the source code (UNIX and OSX) by following the instructions in the INSTALL.UNIX.md file. If you have all of the prerequisites installed, this is as simple as:

$ ./configure
$ make release

On Windows, simply run the installer and follow the instructions. Be sure to install to a path with no spaces, such as C:\CouchDB.

1-node configuration

After building CouchDB, run rel/couchdb/bin/couchdb (or ensure the service is running on Microsoft Windows). This will start up a 1-node CouchDB instance that logs to stderr. You can then access the brand new Fauxton web interface at http://localhost:5984/_utils/index.html.

You will immediately want to create the _users database. Click on the Create Database button at the top-left and enter _users as the database name.

Finally, verify your installation by clicking on the Verify link on the left hand side of the screen, then click the green Verify Installation button. All items should result in a checkbox. If you encounter any failures, please report them (see bottom of this post).

3-node configuration

Each CouchDB RC ships with a script that runs a 3-node development cluster, optionally with an haproxy load balancing front end. To run this script, change to the RC directory and run:

$ dev/run -n 3 --with-admin-party-please [--with-haproxy --haproxy=/path/to/haproxy]

The script will start 3 nodes, one each at ports 15984, 25984 and 35984. If you add the --with-haproxy option, the haproxy load balancer will run at port 5984, load balancing requests across all 3 nodes.

Proceed to Fauxton with your web browser, at http://localhost:(1)5984/_utils/index.html and validate your install as with the 1-node install. There is no need to create the _users database with this script.

n-node configuration

CouchDB 2.0 can also be configured with an arbitrary number of nodes. You can use the dev/run script with the -n n option to launch any number of nodes. Alternately, you can install each node on a separate machine and configure the cluster yourself using the _cluster_setup endpoint. Though this is out of scope for this blog post, you can learn more by reading the source of the dev/run script and searching for the cluster_setup, cluster_setup_with_admin_party, enable_cluster, add_node and finish_cluster functions.

 

Joan Touzet is a committer and PMC member for Apache CouchDB, as well as the point of contact for the CouchDB Code of Conduct


You can download the latest release candidate from http://couchdb.apache.org/release-candidate/2.0/. Files with -RC in their name a special release candidate tags, and the files with the git hash in their name are builds off of every commit to CouchDB master.

We are inviting the community to thoroughly test their applications with CouchDB 2.0 release candidates. See the testing and setup instructions for more details.

4 thoughts on “Release Candidates

  1. Feature: Compaction – CouchDB Blog

  2. CouchDB Weekly News, August 11, 2016 – CouchDB Blog

  3. Feature: Replication – CouchDB Blog

  4. Migrating to CouchDB 2.0 – CouchDB Blog

Leave a comment