XA recovery for all MySQL
Change-Id: I4f77de521cd80c09fdf97e5bbe5dfd1c830dc3cb
# PG emergency shutdown:
# select * from pg_prepared_xacts
# ROLLBACK PREPARED '<xid>'
+ # MySQL emergency shutdown:
+ # for arg in `mysql -u root -e "xa recover" | cut -c 8-100 |
+ # grep sa`; do mysql -u root -e "xa rollback '$arg'"; done
@testing.crashes('mysql', 'Crashing on 5.5, not worth it')
@testing.requires.skip_mysql_on_windows
@testing.requires.two_phase_transactions
@property
def two_phase_recovery(self):
return self.two_phase_transactions + (
- exclusions.fails_if(
- lambda config: config.db.name == 'mysql' and (
- config.db.dialect._is_mariadb or
- config.db.dialect.server_version_info < (5, 7)
- )
+ skip_if(
+ "mysql",
+ "crashes on most mariadb and mysql versions"
)
)