about summary refs log tree commit homepage
diff options
context:
space:
mode:
-rw-r--r--Documentation/public-inbox-compact.pod10
-rw-r--r--Documentation/public-inbox-xcpdb.pod34
-rwxr-xr-xscript/public-inbox-xcpdb2
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";