Задавайте вопросы, мы ответим
Вы не зашли.
Добрый день. Использую трёхнодовый PXC 5.7.16, запись только в одну ноду. Иногда на SELECT-запросах проскакивает ошибка Synchronous wait failed
wsrep_auto_increment_control=OFF
wsrep_causal_reads=ON
Эта ошибка вообще никак не гуглится. Может сталкивался кто и знает, как её лечить?
Отредактированно OrNix (21.03.2017 11:04:30)
Неактивен
Насколько я понимаю, селекты в принципе не участвуют в синхронизации галеры и всегда отдаются с локальной ноды. Вы уверены, что это именно галерная ошибка? Можете написать чуть больше подробностей — в логе, в клиента отдается, еще где-то?
1205, судя по гуглу, это lock wait timeout exceeded. В случае с InnoDB на селектах это может быть только в SERIALIZABLE / на явных блокировках, вы же не этот уровень изоляции используете?
Неактивен
Да, ошибка галеровская. Как я понял, происходит в момент, когда до одной ноды кратковременно пропадает связь.
Неактивен
Вы текст ее откуда берете? из mysql_error()? из лога? в логе есть что-то в это время?
Неактивен
В логе приложения:
2017/03/23 08:10:32 [ip:192.168.0.43] [error] [exception.CDbException] exception 'CDbException' with message 'CDbCommand не удалось исполнить SQL-запрос: SQLSTATE[HY000]: General error: 1205 Synchronous wait failed.'
В mysqld.log на одной из нод почти в это же время, но про другой, локальный коннект:
2017-03-23T 08:09:39.715609Z 4745932 [Note] Aborted connection 4745932 to db: 'unconnected' user: 'zabbix' host: 'localhost' (Synchronous wait failed.)
Неактивен
А если отключить causal reads ошибка пропадает?
Судя по коду, выглядит так, как будто оно и правда ждет блокировки на чтении. Вы в один сервер пишете при этом? В несколько? Нет проблем с flow control?
Неактивен
Пишем в одну ноду, да. Отключение Casual reads скорее всего поможет, но разработчикам без него не нравится, иногда на слэйвах не находят только что записанные в мастер данные.
Неактивен