Documentation/public-inbox-compact.pod | 10 ++++++++++ Documentation/public-inbox-xcpdb.pod | 34 +++++++++++++++++++++++++++++----- script/public-inbox-xcpdb | 2 +- diff --git a/Documentation/public-inbox-compact.pod b/Documentation/public-inbox-compact.pod index 7d37f6fb154506785e5475415cae0c5dd6e17fbf..47d950a439d39cf958f6709a055b05c7d7356dd3 100644 --- a/Documentation/public-inbox-compact.pod +++ b/Documentation/public-inbox-compact.pod @@ -16,6 +16,16 @@ 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 5697dcddb67d31ef96acc9266e52c8539a51ae0a..e056b5498d2d637e7db39ec615255c0aa417b3c8 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 @@ (e.g. "glass" or "honey"), but is designed to tolerate and 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 @@ -39,6 +57,12 @@ =back =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 diff --git a/script/public-inbox-xcpdb b/script/public-inbox-xcpdb index badb95e287bc9166a5ef82544fb04e83b7310f1a..ef64e58f54675a30091f10befe1e7cd4321bd32a 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";