[
https://issues.apache.org/jira/browse/COUCHDB-1309?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13129120#comment-13129120
]
Paul Joseph Davis commented on COUCHDB-1309:
--------------------------------------------
@Filipe
After reading further I think you've probably got the best approach. The only
alternative I've contemplated would be to have a monitor process that wakes up
every so often and checks that its sig is still valid which I don't think is as
clean as this version.
Although, I would like to see this patch as at least two if not more commits.
Specifically, at least one for the new ddoc event broadcasting and then one for
the indexer/view stuff.
> 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