If a watchdog entry should be written during a different MySQL table is locked it will fail with MySQL error "Table 'watchdog' was not locked with LOCK TABLES". If a watchdog entry should be written during an open transaction and the transaction will be rolled back, the watchdog entry will be removed as well. Both cases could be avoided if we use a dedicated database connection for writing watchdog entries.
The solution is to declare a dedicated database connection which will not be established until required.
If a watchdog entry is written as part of a transaction it should probably be rolled back with that transaction. But for entries of severity WATCHDOG_ERROR or above we should assume that they should be always written. But his behavior has to be optionally configurable in settings.php.
Original issue: https://drupal.org/node/298768
Recent comments
It’s really interesting that clearing out the menu_links table and reinstalling the Admin Bar module did the trick. Menu corruption is such a common headache when moving from D7 to Backdrop,...
Upgrading from Drupal 7 - problem
Restore Newsletter Subscriptions from a Dev Website In my last comment, I described a way to restore newsletter subscriptions from a database backup. The method involved directly editing...
Re-enable Simplenews newsletter subscriptions that had been erroneously disabled
I am considering migrating my drupal 7 website to backdrop. Hi @seamus, I would like to offer my professional services for migration to BackdropCMS. Please connect If...
drupal 7 to backdrop migration