Hi, we observed deadlock-like problem on our multi-component system with mysql database.
Our setup: 1) MySQL server 5.5 with many MyISAM tables Foo_<timestamp>, one per day (like partitioning) 2) C++ backend daemon * issuing CREATE TABLE IF NOT EXISTS Foo_<timestamp> (...) once per day after midnight * filling those tables with INSERT INTO Foo_<timestamp> during intraday 3) pythonic multi-threaded backend daemon (we call it 'worker') * reads Foo_<timestamp> tables every minute via ScopedSession and mapped classes 'Foo' * fills memcache with statistics computed from Foo_* tables 4) pythonic/apache/mod_wsgi single-threaded, multi-process webserver * runs also on shared codebase 'foobar', so it uses also ScopedSession (same as 'worker') * codebase is same when runing in webserver-mode and when running in worker-mode (ScopedSession is always used). We observed that during rollover to next day the C++ BE daemon is blocked on 'Waiting for table metadata lock: CREATE TABLE IF NOT EXISTS Foo_xxxxxxxxx (...)' Webserver is also blocked. Kill the 'worker' helps, all blocked stuff continues. If anyone could know: - why it blocks since we have MyISAM,which are transaction-less - why the worker is the blockator, since it only executes SELECTs - how to fix it? Thanks Pavel -- 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 http://groups.google.com/group/sqlalchemy. For more options, visit https://groups.google.com/groups/opt_out.