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

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

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

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

1 ответ

Решение

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

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

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

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

Другие вопросы по тегам