[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

Re: svn commit: r1346894 - /subversion/trunk/subversion/tests/libsvn_wc/utils.c

From: Philip Martin <philip.martin_at_wandisco.com>
Date: Wed, 06 Jun 2012 19:00:05 +0100

Greg Stein <gstein_at_gmail.com> writes:

> On Wed, Jun 6, 2012 at 1:26 PM, Greg Stein <gstein_at_gmail.com> wrote:
>> On Wed, Jun 6, 2012 at 9:54 AM,  <philip_at_apache.org> wrote:
>>> Author: philip
>>> Date: Wed Jun  6 13:54:58 2012
>>> New Revision: 1346894
>>>
>>> URL: http://svn.apache.org/viewvc?rev=1346894&view=rev
>>> Log:
>>> * subversion/tests/libsvn_wc/utils.c
>>>  (create_repos_and_wc): Use a subpool to cleanup the temporary client context.
>>
>> Woah! Where'd that come from? wc is NOT supposed to use the client
>> library. That's the wrong ordering/encapsulation. :-(
>
> Oh. Whoops. Never mind me. TESTS/libsvn_wc .. heh.

It does indicate a problem with the API. The svn_wc__db_t that is
contained in the wc/client context object holds on to wcroots and wc.db
file descriptors after the working copy operations complete. The file
descriptors in particular are a limited resource.

It's not clear how a long-lived application is supposed to manage these
wcroots/descriptors. Should the application be recycling context
objects regularly? Should it use a context object per working copy? Or
a context per high-level operation like update/commit?

Perhaps holding onto the wcroots/descriptors is a mistake. Should
Subversion be closing wcroots/descriptors before returning from each
high-level operation?

-- 
uberSVN: Apache Subversion Made Easy
http://www.uberSVN.com
Received on 2012-06-06 20:00:43 CEST

This is an archived mail posted to the Subversion Dev mailing list.

This site is subject to the Apache Privacy Policy and the Apache Public Forum Archive Policy.