A little more info. I change couch to include an 'error' element when this happens (see COUCHDB-662 for the patch), and bumped the log-level to debug, then reproduced the problem.

My Python code which occasionally triggers this problem reports the returned row as:

{u'value':
    {u'_rev': u'1-6ace70202b3eba6f7a7190d4af65b918', ...},
 u'error': u'not_found',
u'id': u'rc!email.IjAwMTYzNjQ2Y2MyODI3OTBiMzA0NmZiYzJhYzdAZ29vZ2xlbWFpbC5jb20i!rd.msg.conversation',
 u'key': [...],
 u'doc': None
}

Note the new 'error' element. Immediately after this happens, I open the doc in futon and see the document exists with a _rev of 1-6ace70202b3eba6f7a7190d4af65b918 (ie, exactly as above). It seems it should be 'impossible' for things to get into this state - the doc existed when the view was updated, and seems to exist in that same form now.

The couch log reports:

[Sat, 20 Feb 2010 03:56:18 GMT] [debug] [<0.2076.0>] Include Doc: <<"rc!email.IjAwMTYzNjQ2Y2MyODI3OTBiMzA0NmZiYzJhYzdAZ29vZ2xlbWFpbC5jb20i!rd.msg.conversation">> nil

So as we suspected, when couch is including the documents for a view, it is asking for the latest revision - but as mentioned above, the latest revision seems to be the same revision the view was created with.

Is there anything else I can do to help get to the bottom of this?

Thanks,

Mark

Reply via email to