[Trac-tickets] Re: [The Trac Project] #2170: Crash while doing a login/logout in the Timeline

The Trac Project noreply at edgewall.com
Wed Oct 5 04:07:22 CDT 2005


#2170: Crash while doing a login/logout in the Timeline
----------------------+-----------------------------------------------------
 Reporter:  cboos     |        Owner:  cboos   
     Type:  defect    |       Status:  assigned
 Priority:  high      |    Milestone:  0.9     
Component:  general   |      Version:  devel   
 Severity:  critical  |   Resolution:          
 Keywords:            |  
----------------------+-----------------------------------------------------
Comment (by cboos):

 Isn't the problems occurring because we lend ourselves to database locks?
  1. request A - thread A : involves a repo sync. [[BR]]
     This will start a `COMMIT`, the `COMMIT` will be "in progress"
     for a while
  2. shortly after: request B - thread B : only needs to get access to
     the DB for a `SELECT`. But there's a `COMMIT` in progress, so it
     will fail, database lock for B.
  3. since B initiated a query, the commit in A will ''also'' fail!
     Database lock for A too.

 Step 3. is wrong, IMO, A shouldn't fail.
 At this point, I'm not sure who's the culprit: SQLite, pysqlite,
 or the fact that we allow B even if there's a `COMMIT` in progress.

-- 
Ticket URL: <http://projects.edgewall.com/trac/ticket/2170>
The Trac Project <http://trac.edgewall.com/>


More information about the Trac-Tickets mailing list