You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@subversion.apache.org by "Julian Foad (JIRA)" <ji...@apache.org> on 2016/12/22 11:56:58 UTC

[jira] [Comment Edited] (SVN-2354) Make svn_client_propget/list APIs use streamy notification.

    [ 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 before writing any output. 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 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.

> 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)