Deadlock Avoidance by Xon

Add-ons Deadlock Avoidance by Xon 1.0.21

Register & Get access to index
Compatible XF Versions
1.4 , 1.5
Visible Branding
No
XenForo's Datawriters have a _postSaveAfterTransaction() method. This method is intended to run after a database transaction is finished, but if a DataWriter is called from with-in another DataWriter, this does not happen.

This incurs the risk that various notification actions will pull in large queries into the transaction, which increasing the risk of deadlocks on a busy forum.

This is a formally private add-on which has been in use for about a month before being released.

This add-on is only for busy forums which sometimes experience deadlocks on the listed conditions. Please test carefully as this add-on may break other add-ons.

This add-on requires php +5.5, and will not work with earlier versions.

  • Race condition for watch thread toggle
  • Deadlock on conversations
  • Deadlock on posts
  • Deadlock on resolving/rejecting Reports

Race condition for watch thread toggle

Fixes a race condition when creating/removing a watch thread state

Deadlock on conversations

Provides a workaround for a XenForo design issue where updating conversation counters can cause deadlocks.
  • rebuilding user conversation counters occurs inside a large transaction, and is deadlock prone.

Deadlock on posts

Provides a workaround for a XenForo design issue where adding/removing posts can cause deadlocks.
  • updating user alert counters occurs inside a large transaction, and is deadlock prone.

Deadlock on resolving/rejecting Reports
Provides a workaround for a XenForo design issue where adding/removing posts can cause deadlocks.
  • Sends report resolve/reject alerts inside the transaction.
Author
XenBot
Views
First release
Last update
Rating
0.00 star(s) 0 ratings

More resources from XenBot

Latest updates

  1. Deadlock Avoidance by Xon 1.0.21

    Remove use of get_lock which is unsupported in galera clustering, and causes errors in Percona...
Back
Top Bottom