[mapguide-trac] #1552: DB_BUSY errors generated under load

MapGuide Open Source trac_mapguide at osgeo.org
Mon Dec 6 13:44:42 EST 2010


#1552: DB_BUSY errors generated under load
----------------------------+-----------------------------------------------
   Reporter:  brucedechant  |       Owner:       
       Type:  defect        |      Status:  new  
   Priority:  high          |   Milestone:  2.3  
  Component:  Server        |     Version:  2.2.0
   Severity:  major         |    Keywords:       
External_id:                |  
----------------------------+-----------------------------------------------
 The server can generate DB_BUSY errors under load because the session
 repository used by the server to hold all of the client session
 information encounters too much database contention when multiple clients
 need their session information updated.

 The DBXML database used for the session repository does not perform well
 under this condition and ends up locking out other threads from updating
 session information while the updates are done for the thread that has the
 database lock.  The locking of the database is required in order to
 perform write operations and this can take longer than the server’s retry
 mechanism allows resulting in DB_BUSY errors being generated for the
 waiting threads.

 The solution to address this issue is to remove the bottleneck of all
 session information being funneled through a single session repository. By
 having a session repository per created session the bottleneck is removed
 with the only side effect being an increase in the memory used by the
 server.

 To allow for better control over the number of created session
 repositories a new serverconfi.ini property “SessionRepositoriesLimit”
 should be added to restrict this as needed.

-- 
Ticket URL: <http://trac.osgeo.org/mapguide/ticket/1552>
MapGuide Open Source <http://mapguide.osgeo.org/>
MapGuide Open Source Internals


More information about the mapguide-trac mailing list