You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@subversion.apache.org by Daniel Shahaf <d....@daniel.shahaf.name> on 2010/11/29 10:58:43 UTC

FSFS and fs-successor-ids

The fs-successor-ids branch adds successor ids (effectively, copyto
information) to the BDB backend.  It hasn't touched libsvn_fs_fs or
libsvn_fs yet.

Has design of this feature for FSFS been discussed at all?  I couldn't
find anything in the archives.


I suggested yesterday on users@ to create a new hierarchy (parallel to
revs/ and revprops/) and to store information regarding the successors
of /path/to/foo@rN023 somewhere under $new_hierarchy/N/N023/** --- where
'somewhere' is to be defined.  (I have some unfinished thoughts about this.)


Also, I haven't seen the successor-ids during upgrade considered.  Do we
consider the successor ids ('successors' table, or $new_hierarchy/) just
a cache of derived information (like node-origins), or does it have to
be retroactively-populated at the time of and by 'svnadmin upgrade'?

Re: FSFS and fs-successor-ids

Posted by "C. Michael Pilato" <cm...@collab.net>.
On 11/29/2010 05:58 AM, Daniel Shahaf wrote:
> The fs-successor-ids branch adds successor ids (effectively, copyto
> information) to the BDB backend.  It hasn't touched libsvn_fs_fs or
> libsvn_fs yet.
> 
> Has design of this feature for FSFS been discussed at all?  I couldn't
> find anything in the archives.

No.  I had always assumed that we'd just dump the information into SQLite.

> Also, I haven't seen the successor-ids during upgrade considered.  Do we
> consider the successor ids ('successors' table, or $new_hierarchy/) just
> a cache of derived information (like node-origins), or does it have to
> be retroactively-populated at the time of and by 'svnadmin upgrade'?

It really needs to be populated in full, because real-time calculation is
unfeasible from a performance standpoint.  This means that once in place,
this code will either be an 'svnadmin upgrade' blocker ("svn:error:Cannot
upgrade to version N -- you must perform a full dump and load of your
repository.") or a feature blocker ("svn:error:Repository lacks successor
information required to answer your query -- consider dumping and re-loading.").

-- 
C. Michael Pilato <cm...@collab.net>
CollabNet   <>   www.collab.net   <>   Distributed Development On Demand