Resource icon

Unmaintained Deadlock Avoidance by Xon 1.0.21

No permission to download
Compatible XF 1.x versions
  1. 1.4
  2. 1.5
Additional requirements
php +5.5
License
MIT Licence
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.

Installation

I recommend using Add-on install & upgrade to install this add-on.

Contributing features or bug fixes
Please create a GitHub Pull request via the "Find more info at github.com..." link.

Contributions

If you appreciate this add-on, please consider a contribution via PayPal. Details will be provide via private conversation.

Please contact me if you wish for different licencing arrangements.
Related resources
Author
Xon
Downloads
142
Views
2,704
First release
Last update

Ratings

5.00 star(s) 2 ratings

More resources from Xon

Latest updates

  1. 1.0.21 - Maintenance update

    Remove use of get_lock which is unsupported in galera clustering, and causes errors in Percona...
  2. Bugfix update

    Improve reliability of updating forum's last post so it doesn't sometimes include very old threads
  3. 1.0.19 - Bugfix update

    Fix deleting a post in a thread not updating the forum last post Fix Out of range value for...

Latest reviews

Good work Xon. Appreciate you maintaining this plugin. You're one of the best developers in the xF community.
Nice little add-on that has totally eliminated all of our deadlock server errors. Prior to installing this, we had on average 4-5 deadlock errors per day.
Top Bottom