Details
Description
See http://forum.civicrm.org/index.php/topic,10554.0.html :
MySQL GET_LOCK handles locks per-server rather than per-database. So if a CiviMailProcessor.php job is running on another site on the same db server at the same time, it's competing for the same lock, so one or other will get the message "Could not acquire lock, another CiviMailProcessor process is running".
Discussed on IRC today (times GMT+1):
17:32] davej_: Hi dlobo, shall I file an issue for CiviMail locking problem, http://forum.civicrm.org/index.php/topic,10554.msg55882.html#msg55882 ?
[17:33] dlobo: davej_: can u do a patch also
[17:33] dlobo: maybe lock name appended with md5 of DSN is a good patch
[17:34] dlobo: and should be uniq for most cases
[17:34] dlobo: most == nearly all cases probabilistically speaking
[17:34] davej_: dlobo: Goodness, wasn't expecting that! What d'you think about per-site vs per-db for multi-org case?
[17:35] dlobo: argh
[17:35] dlobo: how about DSN + DOMAIN_ID
[17:35] davej_: dlobo: I thought per-site
[17:35] davej_: - so base URL or something base on that.
[17:35] dlobo: base url will also work
[17:36] davej_: dlobo: by DSN d'you mean db name?
[17:36] dlobo: yeah
[17:36] dlobo: but base url is good
[17:36] dlobo: since it deal with multisite