1. This site uses cookies. By continuing to use this site, you are agreeing to our use of cookies. Learn More.

Deadlock Avoidance by Xon 1.0.13

Workarounds for sporadic deadlocks on busy forums

  1. Xon
    Compatible XF Versions:
    • 1.4
    • 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 or [TH] Install and Upgrade to install this addon.

    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 addon, please consider a contribution via PayPal. Details will be provide via private conversation.

    Please contact me if you wish for different licencing arrangements.
    MattW, Glockie, Jarod and 4 others like this.

Recent Updates

  1. Feature update release
  2. Bugfix update
  3. Feature update

Recent Reviews

  1. kontrabass
    kontrabass
    5/5,
    Version: 1.0.8a
    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.