Review Marketplace apps in thread deadlocks
This recommendation appears when we detect a deadlock involving one or more Marketplace app threads, coinciding with degraded page load performance.
A deadlock is confirmed when a lock-wait chain exists in a Marketplace app. It occurs when two or more threads are permanently blocked, waiting for the previous thread to progress, and require immediate intervention. For example, thread A holds lock X and waits for lock Y, while thread B holds lock Y and waits for lock X, creating a permanent cycle. Deadlocked threads consume worker slots permanently and may eventually cause the instance to become fully unresponsive.
Note: This does not refer to database query deadlocks. It specifically detects Java Virtual Machine (JVM)-level thread deadlocks.
Signals used
For us to detect this issue, the following conditions need to occur together:
At least one of the key experiences shows degraded ready-for-user (RFU) page load times.
At least two threads in a Marketplace app are in a deadlock.
ilters
When the issue occurs multiple times, we group their signals under different filters, for example, Last 24 hours or Last 7 days. In this case:
In the Degraded experiences section of the recommendation, we show the highest degradation from all occurrences.
In the Apps in deadlock section, we list the Marketplace apps involved in deadlock cycles. For each occurrence, we show the app keys participating in the cycle.
Frequency
Similar to filters, the Frequency section shows occurrences of this issue over time. It can help you spot patterns. For example, deadlocks can occur after a specific Marketplace app was updated, during scheduled jobs, or at particular times of day.
Recommended actions
We recommend that you review and investigate the identified apps. The process to solve this issue will depend on the Marketplace app and what it does. Here are some actions you can take:
Review Marketplace apps involved in the deadlock cycle
Check the apps shown in the recommendation. Look for recent changes such as a new installation, an app upgrade, newly enabled modules, or configuration updates that may have caused the deadlock. Pay attention to all apps listed in the Apps in deadlock section of the recommendation. Each app is equally responsible for the deadlock.
Restart the affected node
The fastest way to clear a deadlock is to restart the affected node. This releases the locks and restores thread availability. After restarting the node, monitor for any recurrence of the deadlock.
Disable the affected Marketplace app
Temporarily disable one or more of the identified apps to identify the root cause and see if the instance stabilizes.
If issues persist, contact the app vendor
If performance issues continue, contact the app vendor. Share the thread dump, the affected time window, the app keys involved in the deadlock cycle, and any recent configuration or usage changes so they can identify and fix the locking bug in a future release.
Was this helpful?