[
https://issues.apache.org/jira/browse/COUCHDB-1163?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13034718#comment-13034718
]
James Howe commented on COUCHDB-1163:
-------------------------------------
I'm also trying to get a simple reproducible case, here are further details of
our setup at the time these broken documents turned up.
8 couches, with each couch replicating to 3 others (continuous remote-remote
replication with trivial filters).
Validators present for all classes of document.
Attachments being added to existing documents, creating conflicts (see
COUCHDB-885).
Due to a bug on our end, a lot of documents were updated on every couch at the
same revision, repeatedly, causing lots more conflicts.
At the same time, every 30 seconds, we queried for all conflicts (using a view
with doc._conflicts) and did a bulk_docs POST for each doc, performing a
no-change update to the deterministic couch winner, and deleting all others
(i.e. {_id: foo, _rev: bar, _deleted: true}).
This lasted for no more than a day after which we started noticing all kinds of
things going wrong (replication getting stuck, documents that are impossible to
update or delete, etc.)
We're not in a position to run this exact setup again until we are certain
corruption will not occur.
> Document returned by id, but cannot be found by rev
> ---------------------------------------------------
>
> Key: COUCHDB-1163
> URL: https://issues.apache.org/jira/browse/COUCHDB-1163
> Project: CouchDB
> Issue Type: Bug
> Components: Database Core
> Affects Versions: 1.0.1, 1.0.2
> Reporter: James Howe
> Priority: Critical
> Attachments: Couch logging for jira issue
>
>
> Somehow, our cluster has developed the following problem on a handful of
> documents. Will post reproduction steps if we find them. All properties have
> been redacted. All the documents this affects also have attachments, if that
> is significant. Once a document is in this situation, it causes conflict
> detection, replication and include_docs to behave incorrectly or outright
> fail.
> GET /database/4cdee83a118ea1cf3050b1d006144d46 returns
> {
> "_id": "4cdee83a118ea1cf3050b1d006144d46",
> "_rev": "10-df4bf65a6104ea240f100c30d3cb245d",
> "foo": "bar"
> }
> GET /database/4cdee83a118ea1cf3050b1d006144d46?open_revs=all returns
> [
> {
> "ok": {
> "_id": "4cdee83a118ea1cf3050b1d006144d46",
> "_rev": "10-df4bf65a6104ea240f100c30d3cb245d",
> "foo": "bar"
> }
> },
> {
> "ok": {
> "_id": "4cdee83a118ea1cf3050b1d006144d46",
> "_rev": "8-eea5e36daee12acd79a127abf36f7720",
> _deleted: true
> }
> },
> {
> "ok": {
> "_id": "4cdee83a118ea1cf3050b1d006144d46",
> "_rev": "9-2cead1e4c813a4f0d10a9bc4aa28bfda",
> _deleted: true
> }
> },
> {
> "ok": {
> "_id": "4cdee83a118ea1cf3050b1d006144d46",
> "_rev": "7-c3b44f004660caa496804409089b53d9",
> _deleted: true
> }
> },
> {
> "ok": {
> "_id": "4cdee83a118ea1cf3050b1d006144d46",
> "_rev": "6-52e978041bb324d19e01a2ac5a243702",
> _deleted: true
> }
> },
> {
> "ok": {
> "_id": "4cdee83a118ea1cf3050b1d006144d46",
> "_rev": "5-761bf28c6989f0fde41bdd5732c33159",
> _deleted: true
> }
> },
> {
> "ok": {
> "_id": "4cdee83a118ea1cf3050b1d006144d46",
> "_rev": "4-abb005cf4b2d2dd12880a33af1e7066e",
> _deleted: true
> }
> },
> {
> "ok": {
> "_id": "4cdee83a118ea1cf3050b1d006144d46",
> "_rev": "3-233e4624e620ec1c8b66f21a051832f8",
> _deleted: true
> }
> },
> {
> "ok": {
> "_id": "4cdee83a118ea1cf3050b1d006144d46",
> "_rev": "10-55f0cdf9dd95ed230b733a2c826c842c",
> _deleted: true
> }
> },
> {
> "ok": {
> "_id": "4cdee83a118ea1cf3050b1d006144d46",
> "_rev": "11-264c9d6c249ba2fc9b13df35cb447fd7",
> _deleted: true
> }
> },
> {
> "ok": {
> "_id": "4cdee83a118ea1cf3050b1d006144d46",
> "_rev": "9-2cead1e4c813a4f0d10a9bc4aa28bfda",
> _deleted: true
> }
> },
> {
> "ok": {
> "_id": "4cdee83a118ea1cf3050b1d006144d46",
> "_rev": "2-9f2df19059d9a460a12740a63a4d95e9",
> _deleted: true
> }
> }
> ]
> GET
> /database/4cdee83a118ea1cf3050b1d006144d46?rev=10-df4bf65a6104ea240f100c30d3cb245d
> returns
> {
> "error": "not_found",
> "reason": "missing"
> }
--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira