You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@couchdb.apache.org by "Adam Kocoloski (JIRA)" <ji...@apache.org> on 2011/01/03 21:35:45 UTC

[jira] Updated: (COUCHDB-999) Detect and repair view indexes with duplicates in them

     [ https://issues.apache.org/jira/browse/COUCHDB-999?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Adam Kocoloski updated COUCHDB-999:
-----------------------------------

    Attachment: 0001-Crash-if-duplicates-are-detected-during-view-compact.patch

Here's an untested attempt at a patch to crash the view compactor if duplicates are encountered.  The exit message in the logs will instruct the user to rebuild the affected view group.

> Detect and repair view indexes with duplicates in them
> ------------------------------------------------------
>
>                 Key: COUCHDB-999
>                 URL: https://issues.apache.org/jira/browse/COUCHDB-999
>             Project: CouchDB
>          Issue Type: New Feature
>          Components: Database Core
>    Affects Versions: 0.11.2, 1.0.1
>            Reporter: Adam Kocoloski
>         Attachments: 0001-Crash-if-duplicates-are-detected-during-view-compact.patch
>
>
> In COUCHDB-968 we discovered and fixed a bug that could introduce duplicate documents in a database.  Under certain circumstances these duplicate documents would introduce duplicate entries in view indexes.
> We can detect duplicates in the view group by looking for duplicate entries in the docid => view key btree.  We can try to repair the view indexes by removing the extra keys from the views, or we can just report that duplicates exist in the view group and direct the user to rebuild that group.  We might incorporate this code into the view compactor, or we might release it as a separate standalone tool.
> I think my personal preference is to include any repair functionality in the view compactor.  A separate standalone tool that simply reports the presence of duplicates would also be a nice thing to have.

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