CouchDB should migrate automatically between minor/bugfix versions

Bug #744905 reported by Malte S. Stretz
12
This bug affects 2 people
Affects Status Importance Assigned to Milestone
couchdb (Debian)
Fix Released
Unknown
couchdb (Ubuntu)
New
Undecided
Unassigned

Bug Description

Binary package hint: couchdb

The README.Debian file explains why the database directory in /var/lib/couchdb is based on the version number and your databases seemingly disapper between upgrades. The information that file is based on is outdated though since it still labels CouchDB as alpha software which it isn't anymore.

On <http://wiki.apache.org/couchdb/FilesystemBackups> you can find the Note "Before CouchDB 1.0 intermediate releases can have incompatible database file formats." I interpret this in a way that the database format is stable for at least minor releases. (I still have to verify this with the mailinglist though :)

I thus recommend to change the database directory name from /var/lib/couchdb/MAJOR.MINOR.RELEASE to just /var/lib/couchdb/MAJOR.MINOR or even /var/lib/couchdb/MAJOR (depending on what the CouchDB devs say once I asked them).

Tags: patch
Revision history for this message
Malte S. Stretz (mss) wrote :

I digged into the source code and noticed that the on-disk format is versioned. So something like the attached patch which adds versioning based on the disk_version is probably a better solution than using the app version.

OTOH if you're afraid of breaking people's databases with new versions of CouchDB, just dropping the release number and using a MAJOR.MINOR format should do the trick. But I don't think any other database system in debian (at least not MySQL) does something like this.

tags: added: patch
Changed in couchdb (Debian):
status: Unknown → New
Changed in couchdb (Debian):
status: New → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.