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

Re: svn commit: r1705646 - /subversion/trunk/subversion/libsvn_fs_fs/pack.c

From: Johan Corveleyn <jcorvel_at_gmail.com>
Date: Thu, 28 Jan 2016 01:10:22 +0100

On Wed, Jan 27, 2016 at 1:54 PM, Stefan Fuhrmann <eqfox_at_web.de> wrote:
> On 27.01.2016 13:08, Johan Corveleyn wrote:
>>
>> On Mon, Sep 28, 2015 at 12:16 PM, <stefan2_at_apache.org> wrote:
>>>
>>> Author: stefan2
>>> Date: Mon Sep 28 10:16:12 2015
>>> New Revision: 1705646
>>>
>>> URL: http://svn.apache.org/viewvc?rev=1705646&view=rev
>>> Log:
>>> Tune reorg strategy during the FSFS format7 packs such that it favors
>>> checkout-style tree walks now.
>>>
>>> Since r1703237, following the log history no longer requires frequent
>>> access to directory data but mainly relies on noderev predecessor chain.
>>> Therefore, it is no longer necessary to tightly pack directories in a
>>> separate part of the pack file. With this patch, they are now placed
>>> with the file contents and can be processed by a quasi-linear scan
>>> instead of reading from two sections per pack.
>>>
>>> * subversion/libsvn_fs_fs/pack.c
>>> (compare_dir_entries_format7): Adapt reporting strategy - process dirs
>>> at the same time as files now.
>>> (compare_is_dir): No longer needed.
>>> (sort_reps): No longer distinguish between file and dir reps but only
>>> paths and delta chains when determining reprentation
>>> order.
>>
>>
>> Hi Stefan,
>>
>> In this post-1.9.x-branch commit (and a couple of subsequent
>> pack-related commits) you changed the pack layout for FSFS format7, to
>> make it more efficient for exports, checkouts, ...
>
>
> The benefit is not massive and very much depends on
> project vs. repository size. 20% or so for SVN.
>
>> I'm wondering, when 1.10 comes out, how will I be able to benefit from
>> this improved pack layout? Supposing I've already dump/load-ed with
>> 1.9 in FSFS7, and packed it.
>
>
> Future commits will use the new strategy. So, speed
> will slightly go up over time.
>
>> Does this require a format bump (and another dump/load)? Or do you
>> plan on providing a way to "repack" (or simply unpack and pack) a
>> packed repository? Currently there is no unpack or repack command ...
>
>
> This is no format change; the beauty of format 7 is
> that we can learn and tweak strategies as we go without
> a format bump. OTOH, there is not much potential for
> further improvement right now. FSFS is limited by its
> fixed sharing scheme.
>
> I have no *plans* for unpack/repack but the thought
> has occurred to me. It should not be hard to do as
> an offline operation, maybe alongside a reshard command.
> If you want to write an 'svnadmin unpack', I'd support
> you in that effort.

Interesting :-). I've put it on my radar, but not sure if I'll ever
get to it. Life keeps getting in the way ;-).

Would be a nice bite-sized task though ... if someone else wants to
have a go, feel free. Maybe it's something to put on the
http://subversion.apache.org/ideas.html page?

-- 
Johan
Received on 2016-01-28 01:10:50 CET

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