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