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.
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.
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).
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.
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.
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.