[ 
https://issues.apache.org/jira/browse/COUCHDB-1797?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13661690#comment-13661690
 ] 

Robert Newson commented on COUCHDB-1797:
----------------------------------------

A view result with include_docs=true is not guaranteed to represent a 
consistent snapshot of the database, that's what I'm trying to say. That's the 
trade-off you make by not including the full value in the view.

>From http://wiki.apache.org/couchdb/HTTP_view_API;

"The include_docs option will include the associated document. However, the 
user should keep in mind that there is a race condition when using this option. 
It is possible that between reading the view data and fetching the 
corresponding document that the document has changed. If you want to alleviate 
such concerns you should emit an object with a _rev attribute as in emit(key, 
{"_rev": doc._rev}). This alleviates the race condition but leaves the 
possibility that the returned document has been deleted (in which case, it 
includes the "_deleted": true attribute). Note: include_docs will cause a 
single document lookup per returned view result row. This adds significant 
strain on the storage system if you are under high load or return a lot of rows 
per request. If you are concerned about this, you can emit the full doc in each 
row; this will increase view index time and space requirements, but will make 
view reads optimally fast."

                
> Query against a view creates a questionable result
> --------------------------------------------------
>
>                 Key: COUCHDB-1797
>                 URL: https://issues.apache.org/jira/browse/COUCHDB-1797
>             Project: CouchDB
>          Issue Type: Bug
>          Components: Database Core
>    Affects Versions: 1.3
>            Reporter: Marten Feldtmann
>
> I have a test system (CouchDB 1.3.0 under windows 7/64 Bit), where I insert 
> lots of documents(100000) to get a regular flow of new incoming documents.
> The database has also some views (25). Another task is reading documents from 
> a view, change some attributes and then the document should disappear from 
> the view (and appear in another view). Something like a state machine.
> I do the following query against a view:
> http://localhost:5984/test5/_design/ticketorggraphics/_view/waiting?limit=5&include_docs=true&include_end=true
> and get the following string:
> {"total_rows":9224,"offset":0,"rows":[
> {"id":"92224c2862ef49c15f3d51e3e7283cde","key":"ni13_1_2013101_20130518155518065","value":"ni13_2013101_VsPercentResult_83519204509647","doc":{"_id":"92224c2862ef49c15f3d51e3e7283cde","_rev":"1-6e8b57744c2b88f3d2dcad602e2e3353","distribution":"global","type":"ESTicketCreateOriginalGraphic","createdTS":"20130518155518065","priority":1,"eDayID":"ni13","electionID":2013101,"layout":"ard2013","baseDocKey":"ni13_2013101_VsPercentResult_83519204509647","_attachments":{"bclitemsdata":{"content_type":"application/zip","revpos":1,"digest":"md5-sdff2jkxp4w6xsSlx5Yzxw==","length":4533,"stub":true}}}},
> {"id":"92224c2862ef49c15f3d51e3e7285d38","key":"ni13_1_2013101_20130518155518135","value":"ni13_2013101_VsPercentResult_16771681663808","doc":{"_id":"92224c2862ef49c15f3d51e3e7285d38","_rev":"1-05b92282ec5f2d1b6d56912760792702","distribution":"global","type":"ESTicketCreateOriginalGraphic","createdTS":"20130518155518135","priority":1,"eDayID":"ni13","electionID":2013101,"layout":"ard2013","baseDocKey":"ni13_2013101_VsPercentResult_16771681663808","_attachments":{"bclitemsdata":{"content_type":"application/zip","revpos":1,"digest":"md5-sdff2jkxp4w6xsSlx5Yzxw==","length":4533,"stub":true}}}},
> {"id":"92224c2862ef49c15f3d51e3e728c5e2","key":"ni13_1_2013101_20130518155518413","value":"ni13_2013101_VsPercentResult_10619936276742","doc":null},
> {"id":"b02d128d88188d78ef7f3478586c349b","key":"ni13_2_2013101_20130518155203924","value":"ni13_2013101_VsPercentResult_46202583943140","doc":{"_id":"b02d128d88188d78ef7f3478586c349b","_rev":"1-bd2a2bfb1f7461e6b3ec6d4d106e08e4","distribution":"global","type":"ESTicketCreateOriginalGraphic","createdTS":"20130518155203924","priority":2,"eDayID":"ni13","electionID":2013101,"layout":"ard2013","baseDocKey":"ni13_2013101_VsPercentResult_46202583943140","_attachments":{"bclitemsdata":{"content_type":"application/zip","revpos":1,"digest":"md5-ErSTxuEaSHZrIJ276ANdOQ==","length":4533,"stub":true}}}},
> {"id":"b02d128d88188d78ef7f3478586c72a1","key":"ni13_2_2013101_20130518155204124","value":"ni13_2013101_VsPercentResult_91455901404013","doc":{"_id":"b02d128d88188d78ef7f3478586c72a1","_rev":"1-6f702cff1d12f992d745fc19be84b846","distribution":"global","type":"ESTicketCreateOriginalGraphic","createdTS":"20130518155204124","priority":2,"eDayID":"ni13","electionID":2013101,"layout":"ard2013","baseDocKey":"ni13_2013101_VsPercentResult_91455901404013","_attachments":{"bclitemsdata":{"content_type":"application/zip","revpos":1,"digest":"md5-L9UXpNNRUyk/LSlzAyEsXQ==","length":4533,"stub":true}}}}
> ]}
> Please notice, that the doc attribute of the third item in the rows attribute 
> has the value "null". That means, that the view entry has no belonging 
> document ????????
> This seems to indicate an inconsistency within the database.
> I can not say, when this error happens, but I know, that it will happen in my 
> test run.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to