couchdb-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Filipe Manana (JIRA)" <>
Subject [jira] Updated: (COUCHDB-640) Detect when a view is not valid for a database
Date Wed, 17 Feb 2010 00:27:27 GMT


Filipe Manana updated COUCHDB-640:

    Attachment: couchdb-640-trunk-2.patch


here it follows with an Etap test.

It does the following:

1) create a DB with 3 docs and a view
2) makes a backup copy of the DB file
3) adds 1 more doc to the DB
4) queries the view, which lists the 4 docs
5) stops the server, and replaces the DB file with the backup DB file
6) starts the server
7) queries the view, which now lists only 3 docs

During the server restart, a huge stack trace is sent to stderr, but it's harmless :) All
the tests pass.

Also changed the atom bad_db_file to the tuple {error, invalid_view_seq}

Let me know if all is ok now.


> Detect when a view is not valid for a database
> ----------------------------------------------
>                 Key: COUCHDB-640
>                 URL:
>             Project: CouchDB
>          Issue Type: Bug
>          Components: JavaScript View Server
>    Affects Versions: 0.11
>            Reporter: Paul Joseph Davis
>         Attachments: couchdb-640-trunk-2.patch, couchdb-640-trunk.patch
> It was mentioned on IRC that if someone restores a database without restoring a view
then there's nothing that detects if the view is still valid. Ie, it may reflect an update_seq
that the restoration lost.
> In the check for kicking off a view update we should check if there is an incompatibility
between what's been calculated in the view vs what the db update sequence is at. The current
logic will just ignore and return the invalid view data (because of how stale=ok works which
is good).
> Should be an easy bug to fix if anyone's interested. The code should be pretty contained
to couch_view.erl and couch_view_group.erl

This message is automatically generated by JIRA.
You can reply to this email to add a comment to the issue online.

View raw message