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

Filipe Manana commented on COUCHDB-1309:
----------------------------------------

Benoit, you can't rely on the updater to detect that the ddoc changed.
Maybe I wasn't clear enough before. Imagine the following scenario:

1) Create a ddoc
2) Query one of its views
3) Update the ddoc

If all subsequent view query requests arrive after the update (3), they will 
get routed to the new view group - therefore the old one will not get its 
updater running again and will stay alive forever.
Same issue happens if when the update happens clients who get "into" the old 
view group are querying only with ?stale=ok.

If you're so convinced that doing it in the updater works for these 2 cases, 
please provide a working code prototype.
                
> File descriptor leaks on design document update and view cleanup
> ----------------------------------------------------------------
>
>                 Key: COUCHDB-1309
>                 URL: https://issues.apache.org/jira/browse/COUCHDB-1309
>             Project: CouchDB
>          Issue Type: Bug
>            Reporter: Filipe Manana
>            Assignee: Filipe Manana
>         Attachments: couchdb-1309_12x.patch, couchdb-1309_trunk.patch
>
>
> If we add a design document with views defined in it, open the corresponding 
> view group (by querying one of its views for e.g.), then update the design 
> document in such a way that the view signature changes (changing a view's map 
> function code for e.g), the old view group remains open forever (unless a 
> server restart happens) and keeps it's view file reference counter active 
> forever.
> If a view cleanup request comes, the old view file is not deleted since the 
> reference counter is not dropped by the old view group, keeping the file 
> descriptor in use forever.
> This leakage is different from what is reported in COUCHDB-1129 but it's 
> somehow related.
> The attached patch, simply shutdowns a view group when the design document is 
> updated and the new view signature changes, releasing the old view file 
> descriptor (as soon as no more clients are using the old view).

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to