Loading TOC...

XDMP-DEADLOCK

Message Text

Deadlock detected locking variable1

Cause

A deadlock was detected. When this message occurs at the Debug message level, the deadlock was successfully resolved. When the message occurs at the Notice level, the deadlock was unresolvable.

Deadlocks occur when two transactions are each waiting for the other to release a lock and neither can continue until the other releases the lock. Deadlocks are a normal part of database operations.

MarkLogic Server is designed to automatically detect and resolve deadlocks. When a deadlock is detected, one of the deadlocked transactions is retried, allowing the other to acquire the lock and continue. When this expected behavior occurs, XDMP-DEADLOCK is written to the log file as a Debug message, to indicate that a deadlock occurred and was resolved.

If the deadlock cannot be resolved by repeated retries, the XDMP-DEADLOCK message is written to the log file as a Notice message.

Response

If XDMP-DEADLOCK appears as an infrequent Debug message, no action is required. Deadlocks are a normal part of database operations, and the system successfully resolved the deadlock.

If XDMP-DEADLOCK appears frequently as a Debug message, you may have a performance issue. Revise your query or content structure to reduce the frequency of the deadlock.

If XDMP-DEADLOCK appears as a Notice message, the system was unable to resolve the deadlock. Examine the error message for details about the contentious resource. Revise your query or content structure to avoid the deadlock.

Stack Overflow iconStack Overflow: Get the most useful answers to questions from the MarkLogic community, or ask your own question.