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

Attachment: signature.asc
Description: OpenPGP digital signature

Reply via email to