Merge remote-tracking branch 'upstream/4.5' into 4.5-master-2015-02-09-11-44-07
[civicrm-core.git] / CRM / Activity / BAO / Activity.php
index 9d514c4de717806e5beb455c3bbe61a78c2d423e..39d28852dcc36585849b2f90b3eb36f3791a1e8c 100644 (file)
@@ -254,7 +254,13 @@ class CRM_Activity_BAO_Activity extends CRM_Activity_DAO_Activity {
     if ($recordTypeID) {
       $activityContact->record_type_id = $recordTypeID;
     }
-    $activityContact->delete();
+
+    //let's check if activity contact record exits and then delete.
+    //looks like delete leads to deadlock when multiple simultaneous
+    //requests are done. CRM-15470
+    if ($activityContact->find()) {
+      $activityContact->delete();
+    }
   }
 
   /**