SQLinfo.ru - Все о MySQL Highload++ 2017

Форум пользователей MySQL

Задавайте вопросы, мы ответим

Вы не зашли.

#1 09.08.2017 13:18:14

Grega
Участник
Зарегистрирован: 09.08.2017
Сообщений: 1

MariaDB, innoDB, Online Alter table

Добрый день,

Использую MariaDB версии 10.0.27 с InnoDB таблицами.

Столкнулся с проблемой с Alter Table процедурой (добавление/удаление индекса или колонки,online ddl, проходит без локов на таблице) Если во время альтера попытаться записать в таблицу дублирующую по Unique индексу запись, то получаем Dublicate entry "123" for key "UNIQUE INDEX NAME" ошибку как на Insert операцию, так и на Alter операцию. Причём Alter сваливается с ошибкой не моментально, а только под конец своей работы. (через час-полтора после запуска).

Предположив, что альтер склонировав таблицу пытается накатить все накопившееся изменения (почему то даже неуспешные), попробовал пускать его через ALTER IGNORE TABLE. Документация говорит, что в таком случае альтер должен игнорировать Dublicate entry ошибки. Но он всё равно крашиться.

Собственно нужна помощь. Как заставить Alter игнорировать Dublicate ошибки. Архитектурно от таких ошибок не избавится. Downtime не выбить, всё должно происходить без остановки работы бд.

Неактивен

 

#2 09.08.2017 18:29:48

rgbeast
Администратор
MySQL Authorized Developer and DBA
Откуда: Москва
Зарегистрирован: 21.01.2007
Сообщений: 3766

Re: MariaDB, innoDB, Online Alter table

Это выглядит как бага. Нужно сделать простой пример, на котором ошибка воспроизводится и запостить в багтрекер:

https://mariadb.com/kb/en/mariadb/reporting-bugs/

Неактивен

 

Board footer

Работает на PunBB
© Copyright 2002–2008 Rickard Andersson