Error
Error Code:
297
MongoDB Error 297: Locking Hierarchy Violation
Description
MongoDB Error 297, "Hierarchical Acquisition Level Violation," indicates that an operation attempted to acquire a lock in a manner that violates the database's internal concurrency control hierarchy. This typically occurs when an operation, such as a multi-document transaction or a complex schema modification, tries to obtain locks in an order or at a level that conflicts with existing locks or the defined locking protocol, preventing the operation from completing.
Error Message
Hierarchical Acquisition Level Violation
Known Causes
3 known causesTransactional Lock Contention
An operation within a multi-document transaction attempts to acquire a lock that conflicts with a lock already held by the same or another transaction, violating the internal lock hierarchy.
Incorrect Lock Acquisition Order
Application logic or complex database operations attempt to acquire locks on resources in an order that MongoDB's internal concurrency control deems invalid or unsafe, leading to a hierarchy violation.
Concurrent Schema Changes
Attempting to perform multiple concurrent schema modifications (e.g., index builds, collection alterations) that interact in a way that creates a lock hierarchy conflict.
Solutions
Coming SoonGeneral Troubleshooting Tips
- Check the error message carefully for specific details
- Review recent changes that might have caused the error
- Search for the exact error code in the official documentation
- Check log files for additional context
- Try restarting the application or service