about summary refs log tree commit homepage
diff options
context:
space:
mode:
authorEric Wong <e@80x24.org>2021-06-09 10:03:05 +0000
committerEric Wong <e@80x24.org>2021-06-09 10:03:40 +0000
commitcd2b547780a0f66115710865543accf5282c59d3 (patch)
tree706f076f5d8576208df09003f0b340edb0c677ab
parent60f28950bcee757c556d1b613cafd2606f928b8e (diff)
downloadpublic-inbox-cd2b547780a0f66115710865543accf5282c59d3.tar.gz
Sharing lms->{dbh} with eidx shards appears to be the cause of
the "Issuing rollback() due to DESTROY without explicit
disconnect() of DBD::SQLite::db handle" messages I've been
seeing from "lei up".
-rw-r--r--lib/PublicInbox/LeiMailSync.pm5
-rw-r--r--lib/PublicInbox/LeiStore.pm1
2 files changed, 3 insertions, 3 deletions
diff --git a/lib/PublicInbox/LeiMailSync.pm b/lib/PublicInbox/LeiMailSync.pm
index ec05404a..558988f3 100644
--- a/lib/PublicInbox/LeiMailSync.pm
+++ b/lib/PublicInbox/LeiMailSync.pm
@@ -405,13 +405,12 @@ sub imap_oid {
         $oidbin ? unpack('H*', $oidbin) : undef;
 }
 
-# FIXME: something with "lei <up|q>" is causing uncommitted transaction
-# warnings, not sure what...
+# FIXED? something with "lei <up|q>" is causing uncommitted transaction
+# TODO: remove soon
 sub DESTROY {
         my ($self) = @_;
         my $dbh = delete($self->{dbh}) or return;
         return if $dbh->{ReadOnly};
-        use Carp;
         undef $dbh;
         warn "BUG $$ $0 $self {dbh} OPEN ppid=".getppid.' '.Carp::longmess();
 }
diff --git a/lib/PublicInbox/LeiStore.pm b/lib/PublicInbox/LeiStore.pm
index 0b033e3e..5446873e 100644
--- a/lib/PublicInbox/LeiStore.pm
+++ b/lib/PublicInbox/LeiStore.pm
@@ -195,6 +195,7 @@ sub remove_eml_vmd { # remove just the VMD
 
 sub _lms_rw ($) {
         my ($self) = @_;
+        my ($eidx, $tl) = eidx_init($self);
         $self->{lms} //= do {
                 require PublicInbox::LeiMailSync;
                 my $f = "$self->{priv_eidx}->{topdir}/mail_sync.sqlite3";