Comment 3 for bug 1497365

Revision history for this message
Roman Podoliaka (rpodolyaka) wrote :

Leontiy, that's not a good idea due to the DB API driver we use - MySQL-Python.

The problem is that MySQL-Python does not play well with eventlet green threading concurrency model: the context switch between green threads *does not* happen on queries to MySQL in our case, which means we hold 1 DB connection for the duration of a DB transaction and other threads *won't* get a chance to be executed during this time. This effectively means we can use at most 1 DB connection at a time concurrently and literally don't get any benefit of pooling of DB connections.

I'd rather increase the number of Sahara API forks and leave as is / decrease the number of connections in the pool of each fork.