New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

SET SESSION tx_isolation='READ-COMMITTED' deprecated in MySQL 8.0 #6632

Closed
FLIPNEUS opened this Issue May 20, 2018 · 0 comments

Comments

Projects
None yet
2 participants
@FLIPNEUS

FLIPNEUS commented May 20, 2018

  • Program: Authoritative
  • Issue type: Bug report

Short description

Using MySQL 8.0 as my backend, the Authoritative Server always crashes upon launch when having gmysql-innodb-read-committed=yes, despite the following in my my.cnf file:

[mysqld]
log_bin
binlog_format=ROW
transaction-isolation=READ-COMMITTED

Environment

  • Operating system: CentOS 7
  • Software version: Authoritative Server 4.1.2 / MySQL Server 8.0.11
  • Software source: Official PowerDNS Repository for Authoritative Server / Official MySQL Repository for MySQL Server

Steps to reproduce

  1. Install PowwerDNS Authoritative Server and MySQL 8.0 from their respective repositories
  2. Set binlog_format=ROW and transaction-isolation=READ-COMMITTED in /etc/my.cnf
  3. Set up MySQL as the PowerDNS Backend, and set gmysql-innodb-read-committed=yes
  4. Launch PowerDNS

Expected behaviour

  1. I would expect PowerDNS to just launch

Actual behaviour

  1. Receive error: Distributor caught fatal exception: Unable to launch gmysql connection: Please add '(gmysql-)innodb-read-committed=no' to your PowerDNS configuration, and reconsider yourstorage engine if it does not support transactions.:

Other information

Looks like in modules/gmysqlbackend/smysql.cc, PowerDNS tries to set a tx_isolation variable:

if (d_setIsolation && (retry == 1))
    mysql_options(&d_db, MYSQL_INIT_COMMAND,"SET SESSION tx_isolation='READ-COMMITTED'");

However, the tx_isolation variable is deprecated since MySQL 8.0.3: https://bugs.mysql.com/bug.php?id=88227

Think if this piece of code can be set to SET SESSION transaction_isolation='READ-COMMITTED', we should be good to go.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment