On 02/14/2011 01:57 PM, Ivan Zhakov wrote: > Hi, > > Currently ra_serf caches *all* DAV properties retrieved using PROPFIND > in session pool. This was attempt to reduce number of PROPFIND > requests. But current implementation has several problems: > 1. Unlimited memory usage: current implementation stores all > properties, so svn ls -R command can easily eat 150 mb of memory. > 2. Very low cache hit due the fact that cache doesn't support caching > "allprop" requests. For some operations there is no hits at all. > 3. Current implementation caches properties that may change between > requests, like URL to youngest revision. > > Of course these problems can be fixed, but I'm not sure that we need > this code. Since in svn 1.7 we have HTTPv2 which doesn't use so many > PROPFIND requests that we tried to reduce using DAV properties cache. > > So I'm propose just to remove DAV properties cache from ra_serf. > Objections? Comments? > > PS: See attached patch in case you'd like test performance.
Ivan, Thanks so much for looking so closely into ra_serf recently! It hadn't occurred to me when implementing the HTTPv2 stuff that the prop cache might become less useful as a result. But what is the effect for older servers? Would it make sense keep the cache logic, but conditionally use it only for non-HTTPv2 connections? -- C. Michael Pilato <cmpil...@collab.net> CollabNet <> www.collab.net <> Distributed Development On Demand
signature.asc
Description: OpenPGP digital signature