diff options
author | Nirbhay Choubey <nirbhay@mariadb.com> | 2016-06-27 18:21:00 -0400 |
---|---|---|
committer | Nirbhay Choubey <nirbhay@mariadb.com> | 2016-06-27 18:21:00 -0400 |
commit | 90f222ea7dea4bebdb3ad93c4c1439e3ab08bbba (patch) | |
tree | 1d55a8e772d18d6857b8f81e5c354593c403a302 /mysql-test/suite/wsrep | |
parent | ad3584bf728ad3ee48d99b81d8d14905524df4b8 (diff) | |
download | mariadb-git-90f222ea7dea4bebdb3ad93c4c1439e3ab08bbba.tar.gz |
MDEV-10235: Deadlock in CREATE TABLE .. AS SELECT .. if result set is empty in Galera
In CTAS, handlers get registered under statement transaction
(st_transactions::stmt), while ha_fake_trx_id(), used by CTAS,
looked under standard transaction (st_transactions::all) for
registered handlers, and thus it failed to grab a fake transaction
ID. As a result, with no valid transaction ID, wsrep commit failed
with an error.
ha_fake_trx_id() now looks for handlers registered under 'stmt'
in case 'all' is empty. Also modified the logic to print warning
only once if none of the registered handlers have fake_trx_id.
Diffstat (limited to 'mysql-test/suite/wsrep')
-rw-r--r-- | mysql-test/suite/wsrep/r/binlog_format.result | 2 | ||||
-rw-r--r-- | mysql-test/suite/wsrep/t/binlog_format.test | 2 |
2 files changed, 2 insertions, 2 deletions
diff --git a/mysql-test/suite/wsrep/r/binlog_format.result b/mysql-test/suite/wsrep/r/binlog_format.result index d996371c056..1ca90bd626d 100644 --- a/mysql-test/suite/wsrep/r/binlog_format.result +++ b/mysql-test/suite/wsrep/r/binlog_format.result @@ -1,5 +1,5 @@ call mtr.add_suppression("WSREP: MariaDB Galera does not support binlog format.*"); -call mtr.add_suppression("WSREP: cannot get fake InnoDB transaction ID"); +call mtr.add_suppression("WSREP: Cannot get fake transaction ID from storage engine."); # # MDEV-4227: Galera server should stop crashing on setting binlog_format STATEMENT # diff --git a/mysql-test/suite/wsrep/t/binlog_format.test b/mysql-test/suite/wsrep/t/binlog_format.test index a2dc8542322..85864256862 100644 --- a/mysql-test/suite/wsrep/t/binlog_format.test +++ b/mysql-test/suite/wsrep/t/binlog_format.test @@ -2,7 +2,7 @@ --source include/have_binlog_format_row.inc call mtr.add_suppression("WSREP: MariaDB Galera does not support binlog format.*"); -call mtr.add_suppression("WSREP: cannot get fake InnoDB transaction ID"); +call mtr.add_suppression("WSREP: Cannot get fake transaction ID from storage engine."); --echo # --echo # MDEV-4227: Galera server should stop crashing on setting binlog_format STATEMENT |