Ошибка RocksDB IO: блокировка db/LOCK: нет доступных замков

Я разрабатываю многопоточный сервер, который хранит и читает информацию из БД. БД реализована с помощью RocksDB.

Проблема, с которой я сталкиваюсь, заключается в том, что когда я обращаюсь к БД из более чем одного потока за раз, я получаю эту ошибку.

Обычно упоминается, что БД не была удалена после использования, но теперь это не имеет смысла, конечно, она не удалена, она используется другим потоком.

Я знаю, что доступ к самой базе данных осуществляется в последовательном порядке, поэтому технически вы никогда не получите два потока, читающих ее одновременно, но по крайней мере один из них должен дождаться освобождения блокировки и затем получить к ней доступ.

кто-нибудь знает, что может произойти?


person user3013172    schedule 10.11.2015    source источник


Ответы (1)


Проблема заключалась в том, что у меня было 2 объекта rockdb::DB* в разных потоках с одинаковым именем базы данных, и я одновременно открывал базу данных из обоих потоков.

person user3013172    schedule 11.11.2015