Гость
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Alter table. Metadata locks / 4 сообщений из 4, страница 1 из 1
10.05.2019, 16:22
    #39811886
Григорий2
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Alter table. Metadata locks
Добрый день.

Имею 2 сервера. Таблицы Innodb. File_per_table=1

1) 10.0.27-MariaDB ; innodb 5.6 ;
2) 10.3.10-MariaDB ; innodb 10.3 ;

На первом сервере при выполнении ALTER TABLE `test` CHANGE `column1` `column1` MEDIUMTEXT таблица не блокируется для UPDATE/INSERT. Т.е можно свободно изменять данные таблицы, пока работает альтер.

На втором сервере при попытки сделать update или insert на таблицу по которой работает альтер, получаю "Waiting for metadata lock".
Т.е пока таблица альтерится, никаких изменений в неё внести не получается.

Что то встал в ступр, почему так происходит. Попробовал покопаться в глобальных переменных, принципиальных различий не заметил.
Может быть кто нибудь может подсказать в какую сторону копать? Хочется нормальных Online DDL.

ЗЫ Знаю, что полнотекстовые индексы блокируют online ddl. Никогда их не ставил ни на один из серверов.
...
Рейтинг: 0 / 0
10.05.2019, 18:31
    #39811914
Григорий2
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Alter table. Metadata locks
Вести с полей:

Вероятно дело в том, что по умолчанию на MariaDB.10+ алгорим альтера = DEFAULT.
Что означает, что мария сама решает делать альтер INPLACE или COPY.
Неясно только почему для первой базы она выбирает INPLACE, а для второй - COPY.

Когда пытаюсь запустить такой DDL:

ALTER TABLE `test` CHANGE `column1` `column1` MEDIUMTEXT, ALGORITHM=INPLACE;
Получаю ошибку: ALGORITHM=INPLACE is not supported. Reason: Cannot change column type INPLACE. Try ALGORITHM=COPY.

Под ограничения onlineDDL тоже не попадаю ( https://dev.mysql.com/doc/refman/5.6/en/innodb-online-ddl-limitations.html)

Продолжаю курить мануалы.
...
Рейтинг: 0 / 0
10.05.2019, 19:10
    #39811921
Григорий2
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Alter table. Metadata locks
Разобрался. Формат колонки INPLACE можно поменять только в очень редком случае, описаным тут:
https://mariadb.com/kb/en/library/innodb-online-ddl-operations-with-algorithminplace/
...
Рейтинг: 0 / 0
10.05.2019, 20:03
    #39811933
miksoft
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Alter table. Metadata locks
Покажите полные DDL таблиц до преобразования
...
Рейтинг: 0 / 0
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Alter table. Metadata locks / 4 сообщений из 4, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]