5.3.0-git
2014-12-25

[#9173] Deadlocks in mysql SessionHandler under heavy loads
Summary Deadlocks in mysql SessionHandler under heavy loads
Queue Horde Framework Packages
Queue Version Git master
Type Enhancement
State Rejected
Priority 1. Low
Owners chuck (at) horde (dot) org
Requester luc.germain (at) usherbrooke (dot) ca
Created 2010-08-11 (1597 days ago)
Due
Updated 2014-03-26 (274 days ago)
Assigned 2010-08-13 (1595 days ago)
Resolved 2014-03-26 (274 days ago)
Milestone
Patch Yes

History
2014-03-26 13:30:56 Jan Schneider Comment #3
State ⇒ Rejected
Reply to this comment
Rejecting because the consequences are not completely foreseeable, 
there's no empiric feedback from the community, and the default 
isolation level can also be set in the MySQL configuration.
2014-03-26 13:24:37 Jan Schneider Queue ⇒ Horde Framework Packages
Version ⇒ Git master
 
2010-08-13 13:04:37 Jan Schneider Comment #2
State ⇒ Assigned
Assigned to Chuck Hagenbuch
Reply to this comment
Transaction isolation is over my head.
2010-08-11 20:05:45 luc (dot) germain (at) usherbrooke (dot) ca Comment #1
State ⇒ New
New Attachment: sessionhandler.patch Download
Patch ⇒ Yes
Milestone ⇒
Queue ⇒ Horde Groupware Webmail Edition
Summary ⇒ Deadlocks in mysql SessionHandler under heavy loads
Type ⇒ Enhancement
Priority ⇒ 1. Low
Reply to this comment
We use the mysql Sessionhandler of Horde on our installation, and 
under heavy loads (> 500 users), we start having a lot of deadlocks 
messages in the logs:

Aug 05 09:45:47 HORDE [error] [horde] Error writing session data: 
Deadlock found when trying to get lock; try restarting transaction 
[pid 27607 on line 185 of 
"/htdocs/horde/lib/Horde/SessionHandler/mysql.php"]

When this happens, users have to try to login many times before 
getting access.

We added the following statement to the mysql driver and it solved the 
problem nicely:

mysql_query('SET TRANSACTION ISOLATION LEVEL READ COMMITTED;', $this->_db);

ref: http://dev.mysql.com/doc/refman/5.0/en/set-transaction.html

No more deadlock seen even for > 2000 active users