osdir.com


[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: svn commit: r1841225 - /httpd/httpd/trunk/modules/dav/main/props.c


On Thu, Oct 18, 2018 at 11:09:13AM +0200, Ruediger Pluem wrote:
> On 10/17/2018 07:47 PM, Joe Orton wrote:
> > On Wed, Oct 17, 2018 at 03:32:34PM +0100, Joe Orton wrote:
> >> I see constant memory use for a simple PROPFIND/depth:1 for the 
> >> attached, though I'm not sure this is sufficient to repro the problem 
> >> you saw before.
> 
> Thanks for having a look. My test case was opening a large directory (about 50,000 files)
> with doplhin under RedHat 6. Memory usage remains constant after the patch. So patch
> seems to make sense.

OK thanks.  I've tested this works to fix the memory consumption in that 
case (both as committed in trunk and with my change to it), when the 
PROPFIND is for *only* dead properties.

There is still more work to make memory use constant for liveprops.  
mod_dav_svn has done this already I assume, since the scratchpool was 
added to fix this issue with SVN IIRC.  So it should be possible with 
some effort for mod_dav_fs too, I will hopefully return to that 
sometime.

> Any idea if we could hit a similar issue with the two other remaining callers of dav_open_propdb?
> 
> dav_gen_supported_live_props
> dav_method_proppatch

The specific issue here is in the "walker" function iterations - it was 
long known this can consume all your RAM for "Depth: infinity" walks, 
but I guess nobody ever thought about it too hard for Depth: 1.  LABEL, 
PROPFIND and LOCK/UNLOCK may all be affected I think.

Regards, Joe