diff options
author | Eric Wong <e@80x24.org> | 2019-05-24 02:57:57 +0000 |
---|---|---|
committer | Eric Wong <e@80x24.org> | 2019-05-24 02:59:19 +0000 |
commit | 69d84811ba0c4c60a5fb6893817328d76444cdf5 (patch) | |
tree | bee2c5c8425431bf63713e1c95c260f225cefc32 | |
parent | b56d4d2b4da1c6670cf31f62ba754018b8b27dcc (diff) | |
download | public-inbox-69d84811ba0c4c60a5fb6893817328d76444cdf5.tar.gz |
In particular, the '--compact' switch is really useful since it works without holding the inbox-wide lock for minutes at a time on giant inboxes (inboxes where copies can take dozens, if not hundreds of minutes).
-rw-r--r-- | Documentation/public-inbox-compact.pod | 10 | ||||
-rw-r--r-- | Documentation/public-inbox-xcpdb.pod | 34 | ||||
-rwxr-xr-x | script/public-inbox-xcpdb | 2 |
3 files changed, 40 insertions, 6 deletions
diff --git a/Documentation/public-inbox-compact.pod b/Documentation/public-inbox-compact.pod index 7d37f6fb..47d950a4 100644 --- a/Documentation/public-inbox-compact.pod +++ b/Documentation/public-inbox-compact.pod @@ -16,6 +16,16 @@ writing while it operates. It enforces the use of the C<--no-renumber> option of L<xapian-compact(1)> +=head1 OPTIONS + +=over + +=item --blocksize / --no-full / --fuller + +These options are passed directly to L<xapian-compact(1)>. + +=back + =head1 ENVIRONMENT =over 8 diff --git a/Documentation/public-inbox-xcpdb.pod b/Documentation/public-inbox-xcpdb.pod index 5697dcdd..e056b549 100644 --- a/Documentation/public-inbox-xcpdb.pod +++ b/Documentation/public-inbox-xcpdb.pod @@ -4,7 +4,7 @@ public-inbox-xcpdb - upgrade Xapian DB formats =head1 SYNOPSIS - public-inbox-xcpdb INBOX_DIR + public-inbox-xcpdb [OPTIONS] INBOX_DIR =head1 DESCRIPTION @@ -14,10 +14,28 @@ upgrading to the latest database format supported by Xapian recover from Xapian database modifications from L<public-inbox-watch(1)> or L<public-inbox-mda(1)>. -This is intended for upgrading the database format used by -Xapian. It DOES NOT upgrade the schema used by the -public-inbox PSGI search interface (see -L<public-inbox-index(1)>). +=head1 OPTIONS + +=over + +=item --compact + +In addition to performing the copy operation, run L<xapian-compact(1)> +on each Xapian partition after copying but before finalizing it. +Compared to the cost of copying a Xapian database, compacting a +Xapian database takes only around 5% of the time required to copy. + +Compared to L<public-inbox-compact(1)>, use of this option is +preferable for gigantic inboxes where the coarse-grained lock +currently required for L<public-inbox-compact(1)> can cause +the compaction to take hours at-a-time. + +=item --blocksize / --no-full / --fuller + +These options are passed directly to L<xapian-compact(1)> when +used with C<--compact>. + +=back =head1 ENVIRONMENT @@ -40,6 +58,12 @@ Default: 10000 =head1 UPGRADING +This tool is intended for admins upgrading Xapian search databases +used by public-inbox, NOT users upgrading public-inbox itself. + +In particular, it DOES NOT upgrade the schema used by the +PSGI search interface (see L<public-inbox-index(1)>). + =head1 CONTACT Feedback welcome via plain-text mail to L<mailto:meta@public-inbox.org> diff --git a/script/public-inbox-xcpdb b/script/public-inbox-xcpdb index badb95e2..ef64e58f 100755 --- a/script/public-inbox-xcpdb +++ b/script/public-inbox-xcpdb @@ -7,7 +7,7 @@ use PublicInbox::InboxWritable; use PublicInbox::Xapcmd; use PublicInbox::Admin; PublicInbox::Admin::require_or_die('-search'); -my $usage = "Usage: public-inbox-xcpdb INBOX_DIR\n"; +my $usage = "Usage: public-inbox-xcpdb [--compact] INBOX_DIR\n"; my $opt = {}; GetOptions($opt, qw(compact), @PublicInbox::Xapcmd::COMPACT_OPT) or die "bad command-line args\n$usage"; |