transaction_reader utility dumping generated SQL out of order when using innodb trx log

Bug #708102 reported by Patrick Crews
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Drizzle
Fix Released
High
Joe Daly
7.0
Fix Released
High
Joe Daly

Bug Description

From a standard randgen run, this is the output from transaction_reader + the innodb replication log:
Note that table C hasn't been created yet, we create schema test much later - this output isn't usable for populating a slave / validation server.

SET AUTOCOMMIT=0;
ALTER TABLE `C` DISABLE KEYS;
COMMIT;
SET AUTOCOMMIT=0;
ALTER TABLE `C` ENABLE KEYS;
COMMIT;
SET AUTOCOMMIT=0;
DROP SCHEMA `test`;
COMMIT;
SET AUTOCOMMIT=0;
CREATE TABLE `test`.`D` ( `col_char_1024` VARCHAR(1024) COLLATE utf8_general_ci DEFAULT NULL, `col_char_1024_key` VARCHAR(1024) COLLATE utf8_general_ci DEFAULT NULL, `col_bigint_not_null_key` BIGINT NOT NULL, `col_enum_not_null_key` ENUM('a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z') NOT NULL, `col_text` TEXT COLLATE utf8_general_ci, `col_char_10_not_null` VARCHAR(10) COLLATE utf8_general_ci NOT NULL, `col_char_10` VARCHAR(10) COLLATE utf8_general_ci DEFAULT NULL, `col_char_10_key` VARCHAR(10) COLLATE utf8_general_ci DEFAULT NULL, `pk` INT NOT NULL AUTO_INCREMENT, `col_char_10_not_null_key` VARCHAR(10) COLLATE utf8_general_ci NOT NULL, `col_int_not_null_key` INT NOT NULL, `col_bigint_not_null` BIGINT NOT NULL, `col_enum_not_null` ENUM('a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z') NOT NULL, `col_enum_key` ENUM('a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z') DEFAULT NULL, `col_enum` ENUM('a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z') DEFAULT NULL, `col_text_key` TEXT COLLATE utf8_general_ci, `col_bigint` BIGINT DEFAULT NULL, `col_char_1024_not_null_key` VARCHAR(1024) COLLATE utf8_general_ci NOT NULL, `col_int` INT DEFAULT NULL, `col_int_not_null` INT NOT NULL, `col_text_not_null_key` TEXT COLLATE utf8_general_ci NOT NULL, `col_int_key` INT DEFAULT NULL, `col_char_1024_not_null` VARCHAR(1024) COLLATE utf8_general_ci NOT NULL, `col_bigint_key` BIGINT DEFAULT NULL, `col_text_not_null` TEXT COLLATE utf8_general_ci NOT NULL, PRIMARY KEY (`pk`), KEY `col_char_1024_key` (`col_char_1024_key`(255)), KEY `col_bigint_not_null_key` (`col_bigint_not_null_key`), KEY `col_enum_not_null_key` (`col_enum_not_null_key`), KEY `col_char_10_key` (`col_char_10_key`), KEY `col_char_10_not_null_key` (`col_char_10_not_null_key`), KEY `col_int_not_null_key` (`col_int_not_null_key`), KEY `col_enum_key` (`col_enum_key`), KEY `col_text_key` (`col_text_key`(255)), KEY `col_char_1024_not_null_key` (`col_char_1024_not_null_key`(255)), KEY `col_text_not_null_key` (`col_text_not_null_key`(255)), KEY `col_int_key` (`col_int_key`), KEY `col_bigint_key` (`col_bigint_key`) ) ENGINE=InnoDB COLLATE = utf8_general_ci;
COMMIT;
SET AUTOCOMMIT=0;
CREATE SCHEMA `test` COLLATE utf8_general_ci;
COMMIT;

Revision history for this message
Patrick Crews (patrick-crews) wrote :

To repeat:
./gentest.pl --seed=time --dsn=dbi:drizzle:host=localhost:port=9306:user=root:password=:database=test --engine=Innodb --grammar=conf/drizzle/translog_concurrent3.yy --gendata=conf/drizzle/translog_drizzle.zz --threads=1 --queries=2 --sqltrace --debug --Reporter=DrizzleInnoTrxLog

You will need to start two servers:
1) master (port 9306) with --transaction-log.enable --innodb.replication-log --basedir=<wherever it is>
2) validation server (port 9307)
You will see the errors during test execution

Changed in drizzle:
importance: Undecided → High
status: New → Confirmed
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Related blueprints

Remote bug watches

Bug watches keep track of this bug in other bug trackers.