]> Sergey Matveev's repositories - public-inbox.git/commitdiff
doc: xcpdb: add switch documentation
authorEric Wong <e@80x24.org>
Fri, 24 May 2019 02:57:57 +0000 (02:57 +0000)
committerEric Wong <e@80x24.org>
Fri, 24 May 2019 02:59:19 +0000 (02:59 +0000)
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
Documentation/public-inbox-xcpdb.pod
script/public-inbox-xcpdb

index 7d37f6fb154506785e5475415cae0c5dd6e17fbf..47d950a439d39cf958f6709a055b05c7d7356dd3 100644 (file)
@@ -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
index 5697dcddb67d31ef96acc9266e52c8539a51ae0a..e056b5498d2d637e7db39ec615255c0aa417b3c8 100644 (file)
@@ -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>
index badb95e287bc9166a5ef82544fb04e83b7310f1a..ef64e58f54675a30091f10befe1e7cd4321bd32a 100755 (executable)
@@ -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";