Edgewall Software
Modify

Opened 18 years ago

Closed 18 years ago

Last modified 18 years ago

#3788 closed defect (duplicate)

Trac connection pool depletion when running multithreaded

Reported by: alberto@… Owned by: Jonas Borgström
Priority: high Milestone:
Component: general Version: 0.10rc1
Severity: blocker Keywords:
Cc: alberto@… Branch:
Release Notes:
API Changes:
Internal Changes:

Description

I have a trac mounted via WSGI in a multithreaded CherryPy HTTP server and after a few dozen requests the db connections pool seems to get exhausted and Trac freezes up.

Other WSGI apps mounted on the same CP server suffer no lockup while Trac remains locked-up.

I've managed to reproduce both using sqlite and postgres backends.

This message from Trac gets on my server's log:

Exception exceptions.AssertionError: <exceptions.AssertionError instance at 0xa931db4c> in <bound method PooledConnection.__del__ of <trac.db.pool.PooledConnection object at 0xa936b76c>> ignored

Which I believe to be located here

I'm not too familiar with Trac's pool management to submit a patch ATM, sorry.

Attachments (0)

Change History (4)

comment:1 by Matthew Good, 18 years ago

Resolution: duplicate
Status: newclosed

This is a duplicate of #3504 which should be fixed in the trunk now.

comment:2 by Christian Boos, 18 years ago

Please alberto, can you try to reproduce the issue with latest trunk, to be really sure that it's fixed now?

comment:3 by alberto, 18 years ago

Upgraded to trunk and it survived 1000 requests in chunks of 50 concurrent requests so it surely seems fixed. Thanks! :)

Alberto

comment:4 by Christian Boos, 18 years ago

Great! Thank you very much for the feedback.

Modify Ticket

Change Properties
Set your email in Preferences
Action
as closed The owner will remain Jonas Borgström.
The resolution will be deleted. Next status will be 'reopened'.
to The owner will be changed from Jonas Borgström to the specified user.

Add Comment


E-mail address and name can be saved in the Preferences .
 
Note: See TracTickets for help on using tickets.