View Issue Details

IDProjectCategoryView StatusLast Update
0018421phpList 3 applicationBounce Managementpublic09-05-17 20:13
Reporterduncanc 
PrioritynormalSeverityfeatureReproducibilityhave not tried
Status newResolutionopen 
Product Version3.2.6 
Target Versionnext minorFixed in Version 
Summary0018421: only link to bounce if it still exists in the database.
DescriptionOriginal subject: Bulk delete of bounces does not remove records from related tables




The View Bounces page has commands to delete all bounces, all over 2 months old, etc.
The code that handles the delete, removes records from only the bounces table, not from the related user_message_bounce nor bounce_regex_bounce tables.

That causes problems on other pages, such as the User History page, which display records from the user_message_bounce table with a link to the non-existent bounce record. Clicking the link leads to a nasty fatal error "this bounce no longer exists in the database".

TagsNo tags attached.

Activities

michiel

22-11-16 12:17

manager   ~0058489

I did that on purpose. You don't want to remove the user_message_bounce entry, we still want to keep track of the fact that the campaign bounced to the subscriber, we just don't have the evidence any longer.

duncanc

23-11-16 06:59

developer   ~0058490

I see. But that is inconsistent with deleting a single bounce, either on the bounce page or through a bounce rule. There is a function deletebounce() that removes rows from all three tables.

Also, there's a problem truncating the bounce table, when deleting all bounces. That resets the auto increment id field, which means the records on user_message_bounce can refer to an unrelated bounce.

For the user history page, I suggest linking to the bounce record only when it exists, to avoid the serious-looking error message. When the bounce doesn't exist then the id can be displayed as text maybe with an annotation such as "(deleted)".
I think that the bounce rule page has a similar issue with linking to a non-existent bounce.