subversion-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Stefan Fuhrmann <stefan.fuhrm...@wandisco.com>
Subject Re: enable packing by default
Date Tue, 17 Jun 2014 20:20:13 GMT
On Mon, Jun 16, 2014 at 10:01 PM, Philip Martin <philip.martin@wandisco.com>
wrote:

> Stefan Sperling <stsp@elego.de> writes:
>
> > On Mon, Jun 16, 2014 at 03:53:16PM +0200, Stefan Sperling wrote:
> >> Stefan2 pointed out that format 7 is less efficient if packing is
> disabled.
> >> So to fully benefit from format 7 in the default configuration, users
> must
> >> currently run 'svnadmin pack' or edit fsfs.conf to enable packing after
> commit.
> >> Since format 7 adds locking support to pack, so it should be safe to
> trigger
> >> packing at any time.
> >>
> >> It looks like it makes sense to enable packing after commit by default
> >> for format 7 repositories. Any objections?
> >
> > And here's a more complete patch, fixing test fallout.
> >
> > [[[
> > Enable packing by default in format 7 FSFS repositories.
> >
> > * subversion/libsvn_fs_fs/fs.h
> >   (CONFIG_SECTION_DEBUG): Remove.
> >   (CONFIG_SECTION_PACKED_REVS): New configuration section
> "packed-revisions",
> >    which contains options controlling revision packing behaviour.
> (Perhaps this
> >    should be called "packing" and merged with the "packed-revprops"
> section in
> >    a backwards-compatible way.)
> >
> > * subversion/libsvn_fs_fs/fs_fs.c
> >   (read_config): If the file format supports the pack lock, default to
> >    pack-after-commit.
>
> One thing to consider is the behaviour of a large, unpacked, repository
> when upgraded from format 6 to format 7: if we pack by default the first
> commit after the upgrade will pack the whole repository which could take
> a long time and the committing client may well timeout.  The admin could
> avoid this by running pack manually after the upgrade, or should upgrade
> invoke pack automatically (perhaps controlled by the same config flag)?
>

I think, upgrade should automatically pack by default -
with an option to override that via fsfs.conf. We gain
nothing by deferring the pack until the next full shard.

Packing itself is save in the sense that it can be (non-
gracefully) interrupted and restarted at any time with
no long-term ill effects. Partially written pack files will
simply linger around until they get cleaned up by the
next pack run.

-- Stefan^2.

Mime
View raw message