Ivan Zhakov <i...@visualsvn.com> writes:

> As far I understand cache will be very inefficient if authorization
> file will be bigger than configured limit. I real world cases cache
> will hold data for every configured path if user run svn log on
> repository root or something.

We could cache the results of authz_parse_line.  That would limit the
cache size as it would only grow to the number of sections in the file.
Also authz_parse_line is often the expensive bit as it involves checking
the user against all the rules while handling groups and aliases.

When we call svn_config_enumerate2(... authz_parse_line ...) store
section in baton.  Then in authz_parse_line use the section from the
baton to check the cache and return the cached result if possible, if
not do the current processing and populate the cache.

-- 
Philip Martin | Subversion Committer
WANdisco | Non-Stop Data

Reply via email to