eclipselink и репликация GTID в mysql

Я нахожусь в процессе миграции существующего приложения JPA/eclipselink с mysql 5.5 на mysql 5.6, и я хотел бы использовать репликацию GTID в будущем.

Однако документация MySQL для глобальных идентификаторов транзакций (GTID) вызывает специальные ограничения на использование временных таблиц. Зная, что eclipselink использует временные таблицы для выполнения различных операций обновления/удаления при общении с mysql, я обеспокоен их несовместимостью при их совместном использовании.

Кто-нибудь знает, будет ли eclipselink (версия 2.5+) работать с репликацией mysql 5.6 и GTID?


person invinity    schedule 16.09.2015    source источник


Ответы (1)


Отвечая на свой вопрос здесь...

Я могу подтвердить, по крайней мере, для моего приложения, работающего с eclipselink 2.5.2, что репликация GTID действительно вызывает исключения SQL во время запросов JPA типа UpdateAll/DeleteAll. Сообщения об исключениях на самом деле имели тип «таблица не существует», когда ссылочная временная таблица (например, «TL_jobs») не была найдена во время выполнения удаления/обновления.

Я также могу подтвердить, что после преобразования репликации GTID в традиционную позиционную репликацию bin-log те же самые запросы UpdateAll eclipselink, которые ранее не выполнялись, теперь работают.

Теперь мне интересно, можно ли что-то сделать внутри eclipselink, чтобы обойти использование временных таблиц. Но это уже другая глава.

person invinity    schedule 18.09.2015