From 69d84811ba0c4c60a5fb6893817328d76444cdf5 Mon Sep 17 00:00:00 2001 From: Eric Wong Date: Fri, 24 May 2019 02:57:57 +0000 Subject: doc: xcpdb: add switch documentation 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). --- Documentation/public-inbox-compact.pod | 10 ++++++++++ Documentation/public-inbox-xcpdb.pod | 34 +++++++++++++++++++++++++++++----- 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 +=head1 OPTIONS + +=over + +=item --blocksize / --no-full / --fuller + +These options are passed directly to L. + +=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 or L. -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). +=head1 OPTIONS + +=over + +=item --compact + +In addition to performing the copy operation, run L +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, use of this option is +preferable for gigantic inboxes where the coarse-grained lock +currently required for L can cause +the compaction to take hours at-a-time. + +=item --blocksize / --no-full / --fuller + +These options are passed directly to L 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). + =head1 CONTACT Feedback welcome via plain-text mail to L 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"; -- cgit v1.2.3-24-ge0c7