Назад | Перейти на главную страницу

Пропустить неудачный оператор в galera multi-master: Duplicate Column, wsrep_local_state: 2

После изменения схемы, которое я пропустил, чтобы позаботиться о репликации, у меня теперь есть один сервер, который больше не синхронизируется, поскольку он пытается изменить таблицу, о которой уже позаботились (на серверах 1 и 2 есть дополнительный столбец, и все в порядке , Сервер 3 пытается вставить его снова - ошибки и при этом находится в wsrep_local_state: 2

Журнал ошибок вполне понятен:

150728 15:19:29 [ERROR] Slave SQL: Error 'Duplicate column name 'somecolumn'' on query. Default database: 'my_db'. Query: 'ALTER TABLE tablename ADD somecolumn DATETIME NULL', Internal MariaDB error code: 1060
150728 15:19:29 [Warning] WSREP: RBR event 1 Query apply warning: 1, 195651391
150728 15:19:29 [Warning] WSREP: Ignoring error for TO isolated action: source: f7715036-20ca-11e5-a90f-f23b6463dd16 version: 3 local: 0 state: APPLYING flags: 65 conn_id: 2348812 trx_id: -1 seqnos (l: 14350890, g: 195651391, s: 195651390, d: 195651390, ts: 20916266579392088)

Поскольку совершенно очевидно, что эту транзакцию можно пропустить, я бы хотел это сделать, но нигде не могу найти, как это сделать (только для настройки главный-подчиненный с «SQL_SLAVE_SKIP_COUNTER = 1» - что не будет работать на galera мульти-мастер).

Проблема в целом решена. Я перезапустил другие серверы, чтобы убедиться в отсутствии сообщений об ошибках, затем перезапустил рассматриваемый сервер (тот, который не синхронизируется) - снова. Заявленное "рассинхронизация" должно было произойти при ресинхронизации серверов (я пробовал дважды ...), и, возможно, что-то еще не завершено на одном из других серверов.