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

Re: On pool / memory usage debugging

From: Philip Martin <philip.martin_at_wandisco.com>
Date: Mon, 08 Dec 2014 21:22:04 +0000

Philip Martin <philip.martin_at_wandisco.com> writes:

> My pool-debug build uses my own httpd build from 2.2.x_at_1562432 while my
> normal build used the system httpd, Debian's 2.2.22-13+deb7u3. It looks
> like some change to mod_dav has added an extra walk over the copy source
> in the pool-debug build and the absence of this walk means there is no
> problem in my normal build. I'm still trying to determine why this
> extra walk is present, perhaps the new version is doing an unnecessary
> walk or perhaps the old version has an unfixed bug.

I think this extra walk is pointless most of the time and is just making
our nominally O(1) copy operation slower. Locks on the copy source do
not prevent a copy. This walk appears to be checking that locks
(ETags?) supplied by the COPY requests match the copy source. On an
URL-URL copy a Subversion client will not supply any tokens, so the walk
scans the whole tree for no point. The walk repeatedly calls back into
mod_dav's dav_validate_resource_state() and it always returns NULL as
DAV_VALIDATE_NO_MODIFY is set and if_header is NULL.

Philip Martin | Subversion Committer
WANdisco // *Non-Stop Data*
Received on 2014-12-08 22:24:55 CET

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