Mariadb Columnstore: переполнение буфера версии

Я пытаюсь добавить новые данные в таблицу columnstore, но она возвращает эту ошибку:

ERROR 1815 (HY000) at line 25: Internal error: CAL0001: Insert Failed: IDB-2008: The version buffer overflowed. Increase VersionBufferFileSize or limit the rows to be processed.

Я уже увеличила VersionBufferFileSize значение, но проблема все еще происходит. Я даже не могу создать новую таблицу с помощью механизма columnstore. Когда я пытаюсь бежать:

create table x(a int) engine=columnstore

Я получаю эту ошибку:

Internal error: CAL0009: (2)Create table failed due to WE: Error updating calpontsys.systable:BRM block version buffer overflow error.

Когда я смотрю на versionbuffer.cdf файл в моих каталогах данных (16 часов), некоторые из них имеют размер 1G. Я полагаю, что они достигли предела 1G в Columnstore.xml файл. Даже если я увеличу ограничение до 5G в xml-файле, размер versionbuffer.cdf не увеличится.

Как решить эту проблему? Есть ли способ очистить файл versionbuffer?

1 ответ

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

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

Также обратите внимание, что буфер версий выделяется для каждого dbroot - если у вас их больше одного.

У меня была такая же проблема в прошлом, я думаю, что это сработало, но я не уверен на 100%.

Другие вопросы по тегам