[
https://issues.apache.org/jira/browse/COUCHDB-1163?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Paul Joseph Davis updated COUCHDB-1163:
---------------------------------------
Attachment: COUCHDB-1163.patch
formatted_rev_tree.txt
*BIG NOTE* This patch is only valid on trunk. I'll paste another shortly that
will apply to 1.1.x
formatted_rev_tree.txt is just the logging data but I've taken one of the
weirdo cases and formatted it so its easier to think about it. I found it
useful when trying to figure out what was going on.
COUCHDB-1163.patch is an attempt at translating the last couple comments of
crazy talk into code. This is based on the work me and Adam did earlier
tracking down what was going on. There's really not a whole lot of code to it
but the addition of the Choose function to merge/stem/remove_leafs makes it
look like there's more than there is.
So far this has passed make distcheck. Its about to pass Futon tests as well.
Granted we don't really have a specific pathological test case anywhere for it,
so we won't really know till we get one or users start testing it.
Bob Dionne said he was going to try and get a case that exhibits the behavior
tomorrow so we can assert more forcefully that this does fix it.
And futon finished successfully...
> 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: Blocker
> Fix For: 1.0.3, 1.1
>
> Attachments: COUCHDB-1163.patch, Couch logging for jira issue,
> formatted_rev_tree.txt
>
>
> 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