[ 
https://issues.apache.org/jira/browse/SVN-2354?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15769874#comment-15769874
 ] 

Julian Foad edited comment on SVN-2354 at 12/22/16 11:56 AM:
-------------------------------------------------------------

A real, though not particularly important, use case has been encountered in 
which "svn propget" runs out of memory. In diagnosing merge problems, people 
sometimes suggest running "svn propget --recursive svn:mergeinfo" (perhaps with 
--xml, which I don't think is relevant here) at the repository root in order to 
easily collect mergeinfo for all branches at once. In a recent case, a WANdisco 
customer tried this on a repository with a lot of branches and a lot of 
mergeinfo, and it ran out of memory on a machine with 30 GB of RAM. A fix is 
not needed for this case, but it does illustrate that it it perfectly feasible 
to encounter such cases in real life.


was (Author: julianfoad):
A real, though not particularly important, use case has been encountered in 
which "svn propget" runs out of memory. In diagnosing merge problems, people 
sometimes suggest running "svn propget --recursive svn:mergeinfo" (perhaps with 
--xml, which I don't think is relevant here) at the repository root in order to 
easily collect mergeinfo for all branches at once. In a recent case, a WANdisco 
customer tried this and it ran out of memory on a machine with 30 GB of RAM. A 
fix is not needed for this case, but it does illustrate that it it perfectly 
feasible to encounter such cases in real life.

> Make svn_client_propget/list APIs use streamy notification.
> -----------------------------------------------------------
>
>                 Key: SVN-2354
>                 URL: https://issues.apache.org/jira/browse/SVN-2354
>             Project: Subversion
>          Issue Type: Improvement
>          Components: libsvn_client
>    Affects Versions: 1.2.x
>            Reporter: C. Michael Pilato
>             Fix For: unscheduled
>
>
> The current implementations of libsvn_client's property functions currently
> offer only the following feedback mechanisms:
> * a single error code (which doesn't offer per-item feedback on recursive 
> operations)
> * a massive hash of paths and properties (which is very un-streamy, memory 
> wasteful, etc.)
> -The property setting functions should learn to use the client notification-
> -function and baton to report per-item status of operations ("i did set that-
> -property on path FOO", "i ran into an error setting that property on path 
> BAR",-
> -etc.).- (See SVN-783)
> The property getting functions should grow custom callbacks for
> reporting property findings on a per-item basis, something like:
> * propget:  path -> (err, propval)
> * proplist:  path -> (err, { propname : propval, propname : propval ... })
> And then, the command-line client should learn to use the now-streamy APIs.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to