about summary refs log tree commit homepage
path: root/lib/PublicInbox/V2Writable.pm
diff options
context:
space:
mode:
authorEric Wong <e@80x24.org>2021-01-24 22:41:56 -0800
committerEric Wong <e@80x24.org>2021-01-26 18:51:31 +0000
commitaf3dfdc0416c7d9d5ad785826639744cc2cd9b9a (patch)
treed82cc9434fbc6c53f5f6085c9f916cc3bcce85bb /lib/PublicInbox/V2Writable.pm
parent6c04afbcb4a090e739066d5ff1735775646c9a44 (diff)
downloadpublic-inbox-af3dfdc0416c7d9d5ad785826639744cc2cd9b9a.tar.gz
This fixes a sporadic failure on a 1/2 core VM where
"git cat-file --batch" hasn't started up by the time
$cleanup->() destroys the ALL.git directory in t/lei.t
(but not t/lei-oneshot.t).

This happens because dwaitpid() runs inside the event loop
asynchronously and we were able to return to the client before
the cat-file process could even start.

I could not reproduce this failure on my usual 4-core
workstation via "schedtool -a 0x1" to force the entire
test to use a single core.

Lazy transactions matches OverIdx and SearchIdx behavior, and
I've verified this lets us avoid problems with old Xapian
versions (on CentOS 7.x) which failed to set FD_CLOEXEC.
Diffstat (limited to 'lib/PublicInbox/V2Writable.pm')
-rw-r--r--lib/PublicInbox/V2Writable.pm4
1 files changed, 0 insertions, 4 deletions
diff --git a/lib/PublicInbox/V2Writable.pm b/lib/PublicInbox/V2Writable.pm
index 0104f87a..7f9342b0 100644
--- a/lib/PublicInbox/V2Writable.pm
+++ b/lib/PublicInbox/V2Writable.pm
@@ -623,10 +623,6 @@ shard[$i] bad echo:$echo != $i waiting for txn commit
                         $dbh->commit;
                         $dbh->begin_work;
                 }
-                if ($midx) {
-                        $self->git->batch_prepare;
-                        $midx->begin_txn;
-                }
         }
         $self->{total_bytes} += $self->{transact_bytes};
         $self->{transact_bytes} = 0;