简体   繁体   中英

eclipselink and mysql's GTID replication

I'm in the process of migrating an existing JPA/eclipselink application from mysql 5.5 to mysql 5.6 and I'd like to use GTID replication going forward.

However, MySQL's documentation for Global Transaction Identifiers (GTID) calls out specific limitations around the use of temporary tables. Knowing that eclipselink makes use of temporary tables to perform various update/delete operations when talking to mysql, I'm concerned about there being an incompatibility using them together.

Does anyone know if eclipselink (version 2.5+) will work with mysql 5.6 and GTID replication?

Answering my own question here...

I can confirm, at least for my application running eclipselink 2.5.2, that GTID replication does indeed cause SQL exceptions during UpdateAll/DeleteAll type JPA queries. The exception messages were actually "table does not exist" type where the reference temporary table (eg 'TL_jobs') is not found during the delete/update execution.

I can also confirm, that after converting from GTID replication to traditional bin-log positional replication that the same eclipselink UpdateAll queries that previously failed are now working.

I'm wondering now if there is something that could be done inside eclipselink to work around the use of temporary tables. But, that is another chapter.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM