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

Re: svn commit: r33724 - branches/fsfs-pack/subversion/libsvn_fs_fs

From: Hyrum K. Wright <hyrum_wright_at_mail.utexas.edu>
Date: Sat, 18 Oct 2008 06:24:21 -0400

Greg Stein wrote:
> Since you've already added sqlite, then you can simply go another
> step: put the revprops in there. (I'd suggest as a separate dev effort
> tho)

That was my thought exactly (same with the fsfs locks storage, too). My only
concerns are scalability and consistency on something like NFS. If we lose data
from the rep-cache sqlite database, that doesn't impact the correctness of the
repository. If something happens to revprops, it's a different story.

Is there any reason to be concerned about using SQLite to store first class data
in the repository?

> On Fri, Oct 17, 2008 at 6:28 PM, <hwright_at_tigris.org> wrote:
>> Author: hwright
>> Date: Fri Oct 17 18:28:15 2008
>> New Revision: 33724
>>
>> Log:
>> On the fsfs-pack branch:
>> Don't pack revprops. It turns out that we allow revprops to be mutable,
>> which severly hampers our ability to pack them. :(
>>
>> We still get a bit of space savings, but it's not quite as drastic, say
>> 20% vs. 50%.
>>
>> * subversion/libsvn_fs_fs/fs_fs.c
>> (svn_fs_fs__pack): Don't pack revprop shards.
>>
>> Modified:
>> branches/fsfs-pack/subversion/libsvn_fs_fs/fs_fs.c
>>
>> Modified: branches/fsfs-pack/subversion/libsvn_fs_fs/fs_fs.c
>> URL: http://svn.collab.net/viewvc/svn/branches/fsfs-pack/subversion/libsvn_fs_fs/fs_fs.c?pathrev=33724&r1=33723&r2=33724
>> ==============================================================================
>> --- branches/fsfs-pack/subversion/libsvn_fs_fs/fs_fs.c Fri Oct 17 16:50:49 2008 (r33723)
>> +++ branches/fsfs-pack/subversion/libsvn_fs_fs/fs_fs.c Fri Oct 17 18:28:15 2008 (r33724)
>> @@ -6537,7 +6537,7 @@ svn_fs_fs__pack(const char *fs_path,
>> apr_int64_t i;
>> svn_revnum_t youngest;
>> apr_pool_t *iterpool;
>> - const char *data_path, *revprops_path;
>> + const char *data_path;
>>
>> SVN_ERR(read_format(&format, &max_files_per_dir,
>> svn_path_join(fs_path, PATH_FORMAT, pool),
>> @@ -6557,7 +6557,6 @@ svn_fs_fs__pack(const char *fs_path,
>> completed_shards = youngest / max_files_per_dir;
>>
>> data_path = svn_path_join(fs_path, PATH_REVS_DIR, pool);
>> - revprops_path = svn_path_join(fs_path, PATH_REVPROPS_DIR, pool);
>>
>> iterpool = svn_pool_create(pool);
>> for (i = 0; i < completed_shards; i++)
>> @@ -6568,8 +6567,9 @@ svn_fs_fs__pack(const char *fs_path,
>> SVN_ERR(cancel_func(cancel_baton));
>>
>> SVN_ERR(pack_shard(data_path, i, cancel_func, cancel_baton, iterpool));
>> - SVN_ERR(pack_shard(revprops_path, i, cancel_func, cancel_baton,
>> - iterpool));
>> + /* We can't pack revprops, because they aren't immutable :(
>> + If we ever do get clever and figure out how to pack revprops,
>> + this is the place to do it. */
>> }
>>
>> svn_pool_destroy(iterpool);
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: svn-unsubscribe_at_subversion.tigris.org
>> For additional commands, e-mail: svn-help_at_subversion.tigris.org
>>
>>
>

Received on 2008-10-18 12:24:51 CEST

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