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 | 08/11/2010 (5439 days ago) |
Due | |
Updated | 03/26/2014 (4116 days ago) |
Assigned | 08/13/2010 (5437 days ago) |
Resolved | 03/26/2014 (4116 days ago) |
Milestone | |
Patch | Yes |
State ⇒ Rejected
there's no empiric feedback from the community, and the default
isolation level can also be set in the MySQL configuration.
Queue ⇒ Horde Framework Packages
Assigned to Chuck Hagenbuch
State ⇒ Assigned
Priority ⇒ 1. Low
Type ⇒ Enhancement
Summary ⇒ Deadlocks in mysql SessionHandler under heavy loads
Queue ⇒ Horde Groupware Webmail Edition
Milestone ⇒
Patch ⇒ Yes
New Attachment: sessionhandler.patch
State ⇒ New
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