Bugzilla – Attachment 73277 Details for
Bug 18725
process_message_queue.pl sends duplicate emails if message_queue is not writable
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
[patch]
Bug 18725 - Process_message_queue sends duplicate emails if message_queue is not writable.
Bug-18725---Processmessagequeue-sends-duplicate-em.patch (text/plain), 2.08 KB, created by
Mark Tompsett
on 2018-03-26 05:43:13 UTC
(
hide
)
Description:
Bug 18725 - Process_message_queue sends duplicate emails if message_queue is not writable.
Filename:
MIME Type:
Creator:
Mark Tompsett
Created:
2018-03-26 05:43:13 UTC
Size:
2.08 KB
patch
obsolete
>From e92f339ebeeb1000d1c5fa8ce32e63bb874fe9ad Mon Sep 17 00:00:00 2001 >From: Kyle M Hall <kyle@bywatersolutions.com> >Date: Thu, 26 Oct 2017 09:04:59 -0400 >Subject: [PATCH] Bug 18725 - Process_message_queue sends duplicate emails if > message_queue is not writable. > >Last week, we had a database server whose disk filled, causing database writes to fail. > >This meant that messages in message_queue marked 'pending' were not marked as 'sent' when they were added to the postfix mail queue; messages were sent every 15 minutes (as specified in the cron job) until the disk space issues were cleared. > >I would suggest adding a token write to the start of process_message_queue.pl as a 'canary in the coal mine'. If the database write fails, process_message_queue should stop, because it's not safe to proceed sending emails that may not be marked 'sent'. > >Test Plan: >1) Apply this patch >2) Make the message_queue table unwriteable somehow >3) Run process_message_queue.pl >4) Script should die with error > >Signed-off-by: Mark Tompsett <mtompset@hotmail.com> >--- > C4/Letters.pm | 6 ++++++ > 1 file changed, 6 insertions(+) > >diff --git a/C4/Letters.pm b/C4/Letters.pm >index b76338e..4f7fdd1 100644 >--- a/C4/Letters.pm >+++ b/C4/Letters.pm >@@ -36,6 +36,7 @@ use Koha::DateUtils; > use Koha::SMS::Providers; > > use Koha::Email; >+use Koha::Notice::Messages; > use Koha::DateUtils qw( format_sqldatetime dt_from_string ); > use Koha::Patrons; > >@@ -1057,6 +1058,11 @@ sub SendQueuedMessages { > }; > my $unsent_messages = _get_unsent_messages( $which_unsent_messages ); > MESSAGE: foreach my $message ( @$unsent_messages ) { >+ my $message_object = Koha::Notice::Messages->find( $message->{message_id} ); >+ $message_object->status('processing'); >+ # If this fails the database is unwritable and we won't manage to send a message that continues to be marked 'pending' >+ return unless $message_object->store(); >+ > # warn Data::Dumper->Dump( [ $message ], [ 'message' ] ); > warn sprintf( 'sending %s message to patron: %s', > $message->{'message_transport_type'}, >-- >2.1.4
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
|
Splinter Review
Attachments on
bug 18725
:
64803
|
65625
|
68602
|
68603
|
70805
|
70826
|
70853
|
70876
|
73277
|
73278
|
73749
|
73750
|
73751
|
74143
|
74247