------------------------------------------------------------
revno: 1750
fixes bug: https://launchpad.net/bugs/1762871
committer: Mark Sapiro <[email protected]>
branch nick: 2.1
timestamp: Tue 2018-04-10 20:34:48 -0700
message:
Improve DELIVERY_RETRY_WAIT reimplementation.
modified:
Mailman/Queue/OutgoingRunner.py
Mailman/Queue/RetryRunner.py
NEWS
--
lp:mailman/2.1
https://code.launchpad.net/~mailman-coders/mailman/2.1
Your team Mailman Checkins is subscribed to branch lp:mailman/2.1.
To unsubscribe from this branch go to
https://code.launchpad.net/~mailman-coders/mailman/2.1/+edit-subscription
=== modified file 'Mailman/Queue/OutgoingRunner.py'
--- Mailman/Queue/OutgoingRunner.py 2017-11-06 11:23:01 +0000
+++ Mailman/Queue/OutgoingRunner.py 2018-04-11 03:34:48 +0000
@@ -1,4 +1,4 @@
-# Copyright (C) 2000-2017 by the Free Software Foundation, Inc.
+# Copyright (C) 2000-2018 by the Free Software Foundation, Inc.
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
@@ -122,12 +122,12 @@
# disposition?
if now > deliver_until:
return False
- # We're going to retry, but not too soon.
- deliver_after = now + mm_cfg.DELIVERY_RETRY_WAIT
- msgdata['deliver_after'] = deliver_after
else:
# Keep trying to delivery this message for a while
deliver_until = now + mm_cfg.DELIVERY_RETRY_PERIOD
+ # Don't retry delivery too soon.
+ deliver_after = now + mm_cfg.DELIVERY_RETRY_WAIT
+ msgdata['deliver_after'] = deliver_after
msgdata['last_recip_count'] = len(recips)
msgdata['deliver_until'] = deliver_until
msgdata['recips'] = recips
=== modified file 'Mailman/Queue/RetryRunner.py'
--- Mailman/Queue/RetryRunner.py 2005-08-27 01:40:17 +0000
+++ Mailman/Queue/RetryRunner.py 2018-04-11 03:34:48 +0000
@@ -1,4 +1,4 @@
-# Copyright (C) 2003 by the Free Software Foundation, Inc.
+# Copyright (C) 2003-2018 by the Free Software Foundation, Inc.
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
@@ -37,7 +37,10 @@
self.__outq = Switchboard(mm_cfg.OUTQUEUE_DIR)
def _dispose(self, mlist, msg, msgdata):
- # Move it to the out queue for another retry
+ # Move it to the out queue for another retry if it's time.
+ deliver_after = msgdata.get('deliver_after', 0)
+ if time.time() < deliver_after:
+ return True
self.__outq.enqueue(msg, msgdata)
return False
=== modified file 'NEWS'
--- NEWS 2018-03-18 16:20:34 +0000
+++ NEWS 2018-04-11 03:34:48 +0000
@@ -18,6 +18,10 @@
Bug fixes and other patches
+ - The reimplementation of DELIVERY_RETRY_WAIT in 2.1.26 could cause extra
+ dequeueing and requeueing in the out queue by OutgoingRunner. This is
+ fixed. (LP: #1762871)
+
- A Python 2.7 dependency introduced in the ToDigests handler in Mailman
2.1.24 has been removed. (LP: #1755317)
_______________________________________________
Mailman-checkins mailing list
[email protected]
Unsubscribe:
https://mail.python.org/mailman/options/mailman-checkins/archive%40jab.org