question on lmtp logged message

Leonardo Rodrigues leolistas at solutti.com.br
Thu Jun 26 23:03:15 UTC 2014


     Hi Steffen,

Em 26/06/14 11:06, Steffen Kaiser escreveu:
>
> maildir_copy_with_hardlinks is set on my server, too. It's the default 
> now. I do not see these errors.
>
> Can you check if the failed recipient is _never_ the first one? I 
> remember some discussions about that the Dovecot LDA has to re-open 
> the storred message of the first recipient, in order to spool it for 
> the other ones. That caused problems because the server used an 
> user-specific encryption key.
>
> If that applies to LMTP, too, this might become problematic, if the 
> first recipient deletes the message very quickly. Therefore my 
> question, if the error pops up for the second recipient and maybe all 
> following ones.


     Just did some more scripting and got a total of 1413 distinct 
emails (distinct queueids) that suffered from this 'message was 
expunged' problem on the 36 hours i got the problems. As noted before, 
not even a single one of these 1413 were nrcpt=1. Problems were from 
nrcpt=2 or greater. So, whatever this is, it really seems to NOT affect 
single recipient messages.

     As you suspected, on those 1413 the very first recipient ALWAYS got 
a status=sent from dovecot/lmtp. "Message was expunged" never happened 
on the very first recipient delivery.

     About the first user (the first delivered message) checking the 
message right after delivery, i tried to confirm that by the logs. To 
make things a little easier, i used nrcpt=2 and nrcpt=3 situations, just 
to avoid posting lots of logs here.


     Case #1

1st recipient delivery OK, failed on 2nd recipient, just delivered 
successfully on 2nd try

Jun 25 17:08:53 correio postfix/qmgr[3059]: 2AFA01BF7496F: 
from=<alejandro.miguel at domain.com.br>, size=49366, nrcpt=2 (queue active)
Jun 25 17:09:52 correio postfix/lmtp[6029]: 2AFA01BF7496F: 
to=<fabio.kado at domain.com.br>, 
relay=correio.domain.com.br[private/dovecot-lmtp], delay=59, 
delays=0.01/47/0/12, dsn=2.0.0, status=sent (250 2.0.0 
<fabio.kado at domain.com.br> UbjnEywqq1MTPwAAHvf8vg Saved)
Jun 25 17:09:55 correio postfix/lmtp[6029]: 2AFA01BF7496F: 
to=<marcelo.roberto at domain.com.br>, 
relay=correio.domain.com.br[private/dovecot-lmtp], delay=63, 
delays=0.01/47/0/16, dsn=4.2.0, status=deferred (host 
correio.domain.com.br[private/dovecot-lmtp] said: 451 4.2.0 
<marcelo.roberto at domain.com.br> Message was expunged (received-date) (in 
reply to end of DATA command))
Jun 25 17:24:11 correio postfix/lmtp[26595]: 2AFA01BF7496F: 
to=<marcelo.roberto at domain.com.br>, 
relay=correio.domain.com.br[private/dovecot-lmtp], delay=918, 
delays=908/0/0/10, dsn=2.0.0, status=sent (250 2.0.0 
<marcelo.roberto at domain.com.br> hWS4JMorq1OIdAAAHvf8vg Saved)

     and in fact the first recipient was checking its email during the 
LMTP delivery. This is the actual order of the logs:

Jun 25 17:09:47 correio dovecot: pop3-login: Login: 
user=<fabio.kado at domain.com.br>, method=PLAIN, rip=10.253.x.x, 
lip=10.252.x.x, mpid=21164
Jun 25 17:09:52 correio postfix/lmtp[6029]: 2AFA01BF7496F: 
to=<fabio.kado at domain.com.br>, 
relay=correio.domain.com.br[private/dovecot-lmtp], delay=59, 
delays=0.01/47/0/12, dsn=2.0.0, status=sent (250 2.0.0 
<fabio.kado at domain.com.br> UbjnEywqq1MTPwAAHvf8vg Saved)
Jun 25 17:09:52 correio dovecot: pop3(fabio.kado at domain.com.br), 
rip=10.253.x.x, lip=10.252.x.x: Disconnected: Logged out top=0/0, 
retr=1/49582, del=1/1, size=49550


     and by the size= of the 'disconnected' pop3 log (size=49550) and 
the size from qmgr (size=49366), user really seems to have checked (and 
deleted after that) exactly the message right BEFORE the 2nd recipient 
delivery was tried by LMTP


     Case #2

1st and 2nd recipient delivery OK, failed on 3rd recipient, just 
delivered successfully on 2nd try


Jun 25 10:00:31 correio postfix/qmgr[804]: EFEB31A4BB227: 
from=<andrei.lunkes at domain.com.br>, size=26667, nrcpt=3 (queue active)
Jun 25 10:00:47 correio postfix/lmtp[6549]: EFEB31A4BB227: 
to=<marcos.pereira at domain.com.br>, 
relay=correio.domain.com.br[private/dovecot-lmtp], delay=16, 
delays=0/0/0/16, dsn=2.0.0, status=sent (250 2.0.0 
<marcos.pereira at domain.com.br> uTsNO+/HqlOHGQAAHvf8vg Saved)
Jun 25 10:00:54 correio postfix/lmtp[6549]: EFEB31A4BB227: 
to=<mario.cabreira at domain.com.br>, 
relay=correio.domain.com.br[private/dovecot-lmtp], delay=22, 
delays=0/0/0/22, dsn=2.0.0, status=sent (250 2.0.0 
<mario.cabreira at domain.com.br> uTsNO+/HqlOHGQAAHvf8vg Saved)
Jun 25 10:00:55 correio postfix/lmtp[6549]: EFEB31A4BB227: 
to=<wellington.camargo at domain.com.br>, 
relay=correio.domain.com.br[private/dovecot-lmtp], delay=24, 
delays=0/0/0/24, dsn=4.2.0, status=deferred (host 
correio.domain.com.br[private/dovecot-lmtp] said: 451 4.2.0 
<wellington.camargo at domain.com.br> Message was expunged (received-date) 
(in reply to end of DATA command))
Jun 25 10:03:57 correio postfix/lmtp[7312]: EFEB31A4BB227: 
to=<wellington.camargo at domain.com.br>, 
relay=correio.domain.com.br[private/dovecot-lmtp], delay=205, 
delays=202/1/0/2.2, dsn=2.0.0, status=sent (250 2.0.0 
<wellington.camargo at domain.com.br> j1dRAU/IqlN6QAAAHvf8vg Saved)


1st recipient in fact checked email (and deleted the message) right 
after the delivery. Actual log sequence is:

Jun 25 10:00:40 correio dovecot: pop3-login: Login: 
user=<marcos.pereira at domain.com.br>, method=PLAIN, rip=10.253.22.56, 
lip=10.252.38.2, mpid=7233
Jun 25 10:00:47 correio postfix/lmtp[6549]: EFEB31A4BB227: 
to=<marcos.pereira at domain.com.br>, 
relay=correio.domain.com.br[private/dovecot-lmtp], delay=16, 
delays=0/0/0/16, dsn=2.0.0, status=sent (250 2.0.0 
<marcos.pereira at domain.com.br> uTsNO+/HqlOHGQAAHvf8vg Saved)
Jun 25 10:00:48 correio dovecot: pop3(marcos.pereira at domain.com.br), 
rip=10.253.22.56, lip=10.252.38.2: Disconnected: Logged out top=0/0, 
retr=1/26872, del=1/1, size=26849


2nd recipient did NOT checked email near the delivery

Jun 25 09:54:08 correio dovecot: pop3-login: Login: 
user=<mario.cabreira at domain.com.br>, method=PLAIN, rip=10.253.22.72, 
lip=10.252.38.2, mpid=29125
Jun 25 09:54:12 correio dovecot: pop3(mario.cabreira at domain.com.br), 
rip=10.253.22.72, lip=10.252.38.2: Disconnected: Logged out top=0/0, 
retr=11/1408320, del=11/11, size=1408058

Jun 25 10:06:49 correio dovecot: pop3-login: Login: 
user=<mario.cabreira at domain.com.br>, method=PLAIN, rip=10.253.22.72, 
lip=10.252.38.2, mpid=13391
Jun 25 10:06:50 correio dovecot: pop3(mario.cabreira at domain.com.br), 
rip=10.253.22.72, lip=10.252.38.2: Disconnected: Logged out top=0/0, 
retr=10/1923222, del=10/10, size=1923004


     this is interesting ... logs seems to show clearly that right after 
the message was delivered to the 1st recipient, it was checked and 
deleted. Despite of that, 2nd recipient got the message successfully 
delivered. But we have also a delay=22 ... maybe lmtp instance had 
already opened the message BEFORE it was erased by the 1st user ?

     this delay is high, i know that and, usually, server do NOT suffer 
from this delays on deliveries. Anyway, during this problem period, 
queues were pretty large and, thus, load was very high, which i think 
explains this unusual delays.


     With these two cases, it really seems that this is somehow related to:
- lmtp as delivery agent
- multiple recipient messages
- first (or previous users in fact) checked and deleted the message 
before all the recipients got the message delivery


     About the two parameters, maildir_copy_with_hardlinks and 
pop3_fast_size_lookups, i'll try to change them one at a time and try to 
reproduce the problems. Fact is i only had the problem with both set to 
yes and problems were completly vanished when both were set to no.




-- 


	Atenciosamente / Sincerily,
	Leonardo Rodrigues
	Solutti Tecnologia
	http://www.solutti.com.br

	Minha armadilha de SPAM, NÃO mandem email
	gertrudes at solutti.com.br
	My SPAMTRAP, do not email it





More information about the dovecot mailing list