46: LockBusy
MongoDBЧто это значит?
Запрошенную блокировку или ресурс не удалось получить немедленно, поскольку их удерживала другая операция, и операция была отклонена вместо ожидания. Ожидания блокировок, завершающиеся тайм-аутом, имеют отдельный код (24 LockTimeout).
Почему возникает?
Параллельные административные/DDL-операции над одной коллекцией или базой данных (например, два построения индексов одновременно, collMod, drop или rename), конфликт с выполняющейся операцией обслуживания или внутренняя операция, которая не может даже кратко ждать блокировку, наталкивается на занятый ресурс.
Как исправить
Найдите конфликтующую операцию: с помощью db.currentOp() изучите DDL-операции или операции обслуживания в том же пространстве имён. Повторите команду после завершения конфликтующей операции. Выполняйте административные/DDL-операции последовательно и не запускайте их параллельно над одной коллекцией. Если ошибка сохраняется, исследуйте в журналах mongod операцию, удерживающую ресурс.