[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

Re: [jira] [Created] (SVN-4669) Merge with much subtree mergeinfo takes hours

From: Daniel Shahaf <d.s_at_daniel.shahaf.name>
Date: Tue, 17 Jan 2017 16:27:01 +0000

[CC += dev@; CC -= jira@]

Julian Foad (JIRA) wrote on Tue, Jan 17, 2017 at 16:06:26 +0000:
> The merge code makes multiple (4 in my test) synchronous
> svn_ra_get_location_segments() queries to the server for each subtree
> with mergeinfo. If, for example, 3600 subtrees have mergeinfo and each
> query takes 0.25 second, that adds up to an hour.
>
> This is related to but different from the memory usage issue SVN-4667.
> The results of most of these queries are stored temporarily and
> account for only 10% of the total memory used in my test.
>
> Possible approaches to improving the merge code are: (1) make the
> queries much more efficient; and (2) analyse how the results are used
> and eliminate unnecessary queries.

The change could be done in a few places:

1. libsvn_client could call svn_ra_get_location_segments() fewer times

2. The svn_ra_get_location_segments() calls could send fewer requests to
the server (e.g., by memoizing/caching results of earlier calls, to
make the later calls faster)

3. The server could be made to answer mergeinfo queries faster (whether
by methods similar to #2 or for that matter by inventing a new backend)

Cheers,

Daniel

> The work-flow approach to improving the experience is: get the number
> of subtrees with mergeinfo down to none or very few.
Received on 2017-01-17 17:30:55 CET

This is an archived mail posted to the Subversion Dev mailing list.