Hi everyone, We are running milter-greylist 4.0.1 on FreeBSD 7.0. We have 8 servers, each handling about 500,000 messages daily. Servers stop about 90% of unsolicited messages and they continuously synchronize themself with each other. Sometimes one server stops synchronizing with the others. The sync queue grows and the error "peer queue overflow" appears. The only solution to solve the problem is to kill the milter process and restart it. We've tried to increase the SYNC_MAXQLEN value to 16384, but the problem still occurs. We found a potentially infinite loop in the code in sync_send() function, label "get_more:". Enclosed is the patch we wrote. We added a counter to limit the time in the "get_more:" loop in which the program get stuck when a peer doesn't respond. We tried to find out why a peer stops responding, but we didn't figure it out yet. The TCP connection remains established and we don't see any connectivity problem. We've been using it since October 2008. We still see a bit of "peer queue overflow" errors during spam's flood, but the patch has really improved the situation. We also added a SYNC_MAXQLEN parameter in the greylist.conf so it's easier to dynamically change the value. Hope it will help. Laurence MOINDROT and Jean BENOIT -- University of Strasbourg Direction Informatique
Message
"peer queue overflow error" and patch proposal
2009-01-16 by Laurence MOINDROT
Attachments
- No local attachments were found for this message.