Thanks for the reply :) I think you're right in that it must be threading related somehow, but it looks like all the monkeypatching has been applied correctly. If I examine the locking object used in the pool I get:
>>> type(engine.pool._overflow_lock) <class 'eventlet.semaphore.Semaphore'> On Mon, Jun 27, 2016 at 4:21 PM, Mike Bayer <mike...@zzzcomputing.com> wrote: > > > On 06/27/2016 10:48 AM, davepuffin via sqlalchemy wrote: > >> Hi >> >> QueuePool.status() is returning some odd looking negative values from >> one of our production applications. >> >> engine.pool.status() >>>>> >>>> 'Pool size: 20 Connections in pool: 19 Current Overflow: -36 Current >> Checked out connections: -35' >> >> The pool was initialised with: pool_size=20, max_overflow=100. >> >> >> Does anyone know of any scenarios that could cause this? >> >> >> We are using SQLAlchemy==1.0.13 connecting to MySql 5.6. >> The application runs in a single python process that uses eventlet to >> manage many greenthreads. >> > > > well that's very likely to be related, are you monkeypatching all thread / > Lock primitives before importing SQLAlchemy? QueuePool relies upon > traditional thread and locking primitives which will fail if you use them > unpatched in a green-thread situation. The Queue here is basically > Python's Queue.Queue so it appears like the queue has been populated with > more objects than it is supposed to allow. > > > >> The situation appears to occur sometime after the overflow has been used. >> >> Thanks >> >> -- >> You received this message because you are subscribed to the Google >> Groups "sqlalchemy" group. >> To unsubscribe from this group and stop receiving emails from it, send >> an email to sqlalchemy+unsubscr...@googlegroups.com >> <mailto:sqlalchemy+unsubscr...@googlegroups.com>. >> To post to this group, send email to sqlalchemy@googlegroups.com >> <mailto:sqlalchemy@googlegroups.com>. >> Visit this group at https://groups.google.com/group/sqlalchemy. >> For more options, visit https://groups.google.com/d/optout. >> > > -- > You received this message because you are subscribed to a topic in the > Google Groups "sqlalchemy" group. > To unsubscribe from this topic, visit > https://groups.google.com/d/topic/sqlalchemy/UWxi-bknpZE/unsubscribe. > To unsubscribe from this group and all its topics, send an email to > sqlalchemy+unsubscr...@googlegroups.com. > To post to this group, send email to sqlalchemy@googlegroups.com. > Visit this group at https://groups.google.com/group/sqlalchemy. > For more options, visit https://groups.google.com/d/optout. > -- You received this message because you are subscribed to the Google Groups "sqlalchemy" group. To unsubscribe from this group and stop receiving emails from it, send an email to sqlalchemy+unsubscr...@googlegroups.com. To post to this group, send email to sqlalchemy@googlegroups.com. Visit this group at https://groups.google.com/group/sqlalchemy. For more options, visit https://groups.google.com/d/optout.