View Issue Details Jump to Notes ] Print ]
IDProjectCategoryView StatusDate SubmittedLast Update
0007855CDashpublic2008-10-24 19:432009-03-27 23:28
ReporterLuke K 
Assigned ToJulien Jomier 
PrioritynormalSeverityminorReproducibilityalways
StatusclosedResolutionfixed 
PlatformOSOS Version
Product Version1.2 
Target VersionFixed in Version1.4 
Summary0007855: CDash sends duplicate emails for the same build
DescriptionHi,

I am having difficulty finding any suitable workaround for a duplicate email problem we have been experiencing. Every time a build fails, CDash sends two duplicate emails to all registered project subscribers (with email notification enabled). I trying various workaround ideas in sendemail.php but nothing seemed to resolve this problem. Then I noticed some comments at the top of the sendemail() function (line 164):


  // Send email at the end of the testing xml file or the

  // update xml file. This is because the update file will

  // contain the information on the users that made the commit

  // however, it may never be submitted, in that case users

  // that have registered with CDash to get email for any broken

  // build should still get email. The down side is that the

  // registered users will now get two emails.

Is there any way we can come up with a fix for this issue? There has to be some reasonable way to track when an email has been sent to each user to prevent multiple sends. I noticed there are other active issues dealing with sending batch nightly emails instead of several individual emails, and I think that this proposed capability would be an acceptable solution to this duplicate email problem.

Thanks.
Luke

Luke Kucalaba
Senior Software Engineer
D&S Consultants, Inc
Columbus, Ohio
TagsNo tags attached.
Attached Files

 Relationships

  Notes
(0013926)
Julien Jomier (manager)
2008-10-24 19:56
edited on: 2008-10-24 19:56

In CDash 1.2 you can set the summary email for each group of a project and this will send only one email per night.

One quick fix to this problem is to replace the lines:

$testing = @$parser->index["TESTING"];
$update = @$parser->index["UPDATE"];
if($testing == "" && $update == "")
  {
  return;
  }

by

$update = @$parser->index["UPDATE"];
if($update == "")
  {
  return;
  }

This will send only one email, if the update file is sent.

The tricky thing is that CTest doesn't send any information about when the submission is done. I guess we could implement a table recording if an email has already been submitted for a build. Thanks for the report!

(0013931)
Luke K (reporter)
2008-10-24 21:01

Thanks for the quick response. Your workaround suggestion works perfectly! I tried several permutations of those lines without success, but I suppose it helps to actually know wtf the software is doing before trying to fix it. I just enabled the summary email feature so come Monday I'll know right away if it is popular among the rest of the developers.

Thanks again,
Luke
(0015826)
Julien Jomier (manager)
2009-03-27 23:27

The email strategy has been changed in CDash 1.4. Now email is sent on every file submitted to CDash. When the update is submitted the users will get the file. The administrator might get more emails but all of them will be different (error, warnings, test failures)

 Issue History
Date Modified Username Field Change
2008-10-24 19:43 Luke K New Issue
2008-10-24 19:48 Julien Jomier Status new => assigned
2008-10-24 19:48 Julien Jomier Assigned To => Julien Jomier
2008-10-24 19:56 Julien Jomier Note Added: 0013926
2008-10-24 19:56 Julien Jomier Note Edited: 0013926
2008-10-24 21:01 Luke K Note Added: 0013931
2009-03-27 23:27 Julien Jomier Note Added: 0015826
2009-03-27 23:27 Julien Jomier Status assigned => closed
2009-03-27 23:27 Julien Jomier Resolution open => fixed
2009-03-27 23:28 Julien Jomier Fixed in Version => 1.4


Copyright © 2000 - 2018 MantisBT Team