Download & Extend

Race condition in notification

Project:Notify
Version:5.x-1.2
Component:Code
Category:bug report
Priority:normal
Assigned:Unassigned
Status:patch (to be ported)

Issue Summary

Notify looks for nodes created in a time window between the last time
notify was run (notify_send_last), and the current time. After processing
any notifications, notify_send_last is set to the current time.

Bug: nodes created in the time window between when notify begins
executing its query, and the time that notify_send_last is updated,
are missed.

Fix: upon completion, set notify_send_last to be the time notify began
executing, rather than the time it finished.

Comments

#1

Status:active» needs review

attaching patch

AttachmentSize
notify-368175-1.patch 1.89 KB

#2

corrected fix (last part was missing)

AttachmentSize
notify-368175-2.patch 3.14 KB

#3

This was also reported against notify-6.x-1.0 as #365700: Need to queue mailings across multiple cron runs for scalability

#4

Status:needs review» patch (to be ported)

No need to store a variable when we can just pass the value to _notify_send(). I've just committed this patch to the 6.x branch.

AttachmentSize
notify_race.patch 3.32 KB
nobody click here