Re: dbmail-util 3.1.17 not cleaning deleted emails

Jorge Bastos <[email protected]>
Newsgroups gmane.mail.imap.dbmail
Message-ID <[email protected]>
Thomas, Paul,

Found it, strace was useful, I could see that by default without specifying
-f /etc/dbmail.conf it's reading the defaults in /usr/local/etc/dbmail.conf.
In previous dbmail-util in ~2.3.6 it was reading by default
/etc/dbmail.conf.

Paul,

Don't know how you want the behavior, so here's the info for you to
consider.
For me, I'm going to specify -f to solve it for me.


> -----Original Message-----
> From: [email protected] [mailto:[email protected]] On
> Behalf Of Jorge Bastos
> Sent: quinta-feira, 6 de Novembro de 2014 09:42
> To: 'DBMail mailinglist'
> Subject: Re: [Dbmail] dbmail-util 3.1.17 not cleaning deleted emails
> 
> Hi Thomas,
> 
> > you can use strace to see what SQL statements are issued:
> >
> > strace -s 100 -a 160 -e trace=sendto dbmail-util  -v -y -dp
> >
> > will give you something like this:
> >
> > ....
> > Deleting messages with DELETE status...
> > sendto(3, "Q\0\0\0%SET statement_timeout TO 300000;\0", 38,
> > MSG_NOSIGNAL, NULL, 0)
> >                             = 38
> > sendto(3, "Q\0\0\0\27BEGIN TRANSACTION;\0", 24, MSG_NOSIGNAL, NULL,
> 0)
> >
> >                 = 24
> > sendto(3, "Q\0\0\0/DELETE FROM dbmail_messages WHERE status=3\0", 48,
> > MSG_NOSIGNAL, NULL, 0)
> >                   = 48
> > sendto(3, "Q\0\0\0\30COMMIT TRANSACTION;\0", 25, MSG_NOSIGNAL, NULL,
> > 0)
> >
> >                 = 25
> > sendto(3, "Q\0\0\0#SET statement_timeout TO 3000;\0", 36,
> > MSG_NOSIGNAL, NULL, 0)
> >                 = 36
> > Ok. Messages deleted.
> >
> > Setting DELETE status for deleted messages...
> > sendto(3, "Q\0\0\0%SET statement_timeout TO 300000;\0", 38,
> > MSG_NOSIGNAL, NULL, 0)
> >                             = 38
> > sendto(3, "Q\0\0\0\27BEGIN TRANSACTION;\0", 24, MSG_NOSIGNAL, NULL,
> 0)
> >
> >                 = 24
> > sendto(3, "Q\0\0\0;UPDATE dbmail_messages SET status = 3 WHERE status
> > = 2\0", 60, MSG_NOSIGNAL, NULL, 0)
> >                 = 60
> > sendto(3, "Q\0\0\0\30COMMIT TRANSACTION;\0", 25, MSG_NOSIGNAL, NULL,
> > 0)
> >
> >                 = 25
> > sendto(3, "Q\0\0\0#SET statement_timeout TO 3000;\0", 36,
> > MSG_NOSIGNAL, NULL, 0)
> >                 = 36
> > Ok. Messages set for deletion.
> > Re-calculating used quota for all users...
> > sendto(3, "Q\0\0\0%SET statement_timeout TO 300000;\0", 38,
> > MSG_NOSIGNAL, NULL, 0)
> >                             = 38
> > sendto(3, "Q\0\0\1\316SELECT usr.user_idnr, SUM(pm.messagesize),
> > usr.curmail_size FROM dbmail_users usr LEFT JOIN dbm"..., 463,
> > MSG_NOSIGNAL, NULL, 0)          = 463
> > sendto(3, "Q\0\0\0#SET statement_timeout TO 3000;\0", 36,
> > MSG_NOSIGNAL, NULL, 0)
> >                 = 36
> > Ok. Used quota updated for all users.
> > ....
> >
> > so what i did was check the status field in dbmail_messages before
> > deleting,
> > -) after deleting (in thunderbird) => status 2
> > -)  then after running dbmail-util to mark the deleted messages =>
> > status 2->3
> > -) after dbmail-util pruning => messages are gone
> >
> > so it seems to work here.
> >
> > anyway with that strace command you can debug the SQL commands easier
> > than setting some logging in the DB (which of course would be for
> more
> > than one executable then).
> 
> In fact I was thinking in a way to the SQL executed by -util but the
> only way I figured out yet was the sql logs but during work hours it's
> almost impossible to retrieve them, and the only change is to get them
> at very late hours.
> 
> Haven't thinked in strace yet, but thanks for the tip :) Will do and
> post.
> 
> Thanks,
> 
> 
> _______________________________________________
> DBmail mailing list
> [email protected]
> http://mailman.fastxs.nl/cgi-bin/mailman/listinfo/dbmail
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.