| Bug #90580 | rpl.rpl_transaction_write_set_extraction_savepoint test fails | ||
|---|---|---|---|
| Submitted: | 23 Apr 2018 17:29 | Modified: | 24 Apr 2018 11:37 |
| Reporter: | Valeriy Kravchuk | Email Updates: | |
| Status: | Closed | Impact on me: | |
| Category: | MySQL Server: Row Based Replication ( RBR ) | Severity: | S3 (Non-critical) |
| Version: | 8.0.11 | OS: | Fedora (27) |
| Assigned to: | CPU Architecture: | x86 | |
| Tags: | rpl.rpl_transaction_write_set_extraction_savepoint, savepoint, test | ||
[24 Apr 2018 3:08]
Erlend Dahl
rpl.rpl_transaction_write_set_extraction_savepoint was removed in 8.0.1, please check your setup.
[24 Apr 2018 11:37]
Valeriy Kravchuk
This test was, indded, a leftover of some older 8.0.x version: openxs@ao756:~/git/mysql-server$ ls -l ~/dbs/8.0/mysql-test/suite/rpl/t/rpl_transaction_write_set_extraction* -rw-rw-r-- 1 openxs openxs 44 січ 26 2017 /home/openxs/dbs/8.0/mysql-test/suite/rpl/t/rpl_transaction_write_set_extraction-master.opt -rw-rw-r-- 1 openxs openxs 44 гру 10 2015 /home/openxs/dbs/8.0/mysql-test/suite/rpl/t/rpl_transaction_write_set_extraction_savepoint-master.opt -rw-rw-r-- 1 openxs openxs 2020 гру 10 2015 /home/openxs/dbs/8.0/mysql-test/suite/rpl/t/rpl_transaction_write_set_extraction_savepoint.test -rw-rw-r-- 1 openxs openxs 44 січ 26 2017 /home/openxs/dbs/8.0/mysql-test/suite/rpl/t/rpl_transaction_write_set_extraction-slave.opt -rw-rw-r-- 1 openxs openxs 5406 кві 19 15:32 /home/openxs/dbs/8.0/mysql-test/suite/rpl/t/rpl_transaction_write_set_extraction.test It does NOT exist in current source code: openxs@ao756:~/git/mysql-server$ ls -l mysql-test/suite/rpl/t/rpl_transaction_write_set_extraction* -rw-rw-r-- 1 openxs openxs 5406 кві 19 15:32 mysql-test/suite/rpl/t/rpl_transaction_write_set_extraction.test openxs@ao756:~/git/mysql-server$ The test rpl_transaction_write_set_extraction that exists needs debug binaries: openxs@ao756:~/dbs/8.0/mysql-test$ ./mtr rpl.rpl_transaction_write_set_extraction Logging: ./mtr rpl.rpl_transaction_write_set_extraction 2018-04-24T11:34:50.414220Z 0 [Warning] [MY-010139] [Server] Changed limits: max_open_files: 1024 (requested 8161) 2018-04-24T11:34:50.414362Z 0 [Warning] [MY-010142] [Server] Changed limits: table_open_cache: 431 (requested 4000) 2018-04-24T11:34:50.414808Z 0 [System] [MY-010116] [Server] /home/openxs/dbs/8.0/bin/mysqld (mysqld 8.0.11) starting as process 1150 MySQL Version 8.0.11 Checking supported features... - SSL connections supported Collecting tests... - adding combinations for rpl Checking leftover processes... Removing old var directory... Creating var directory '/home/openxs/dbs/8.0/mysql-test/var'... Installing system database... Using parallel: 1 ============================================================================== TEST RESULT TIME (ms) or COMMENT -------------------------------------------------------------------------- worker[1] Using MTR_BUILD_THREAD 300, with reserved ports 13000..13009 rpl.rpl_transaction_write_set_extraction [ skipped ] Test needs debug binaries -------------------------------------------------------------------------- The servers were restarted 0 times Spent 0.000 of 51 seconds executing testcases Completed: All 0 tests were successful. 1 tests were skipped, 0 by the test itself. openxs@ao756:~/dbs/8.0/mysql-test$ To summarize, this was also my fault (assuming that dropping tests in the process of development is OK).

Description: Test rpl.rpl_transaction_write_set_extraction_savepoint fails for me with MySQL 8.0.11 built from GitHub source on Fedora 27: [openxs@fc23 mysql-test]$ ./mtr rpl.rpl_transaction_write_set_extraction_savepoint Logging: ./mtr rpl.rpl_transaction_write_set_extraction_savepoint 2018-04-23T17:24:24.667280Z 0 [Warning] [MY-010139] [Server] Changed limits: max_open_files: 1024 (requested 8161) 2018-04-23T17:24:24.667388Z 0 [Warning] [MY-010142] [Server] Changed limits: table_open_cache: 431 (requested 4000) 2018-04-23T17:24:24.667720Z 0 [System] [MY-010116] [Server] /home/openxs/dbs/8.0/bin/mysqld (mysqld 8.0.11) starting as process 3762 MySQL Version 8.0.11 Checking supported features... - SSL connections supported Collecting tests... - adding combinations for rpl Checking leftover processes... Removing old var directory... Creating var directory '/home/openxs/dbs/8.0/mysql-test/var'... Installing system database... Using parallel: 1 ============================================================================== TEST RESULT TIME (ms) or COMMENT -------------------------------------------------------------------------- worker[1] Using MTR_BUILD_THREAD 300, with reserved ports 13000..13009 rpl.rpl_transaction_write_set_extraction_savepoint 'mix' [ skipped ] Doesn't support --binlog-format='mixed' rpl.rpl_transaction_write_set_extraction_savepoint 'row' [ fail ] Test ended at 2018-04-23 20:25:17 CURRENT_TEST: rpl.rpl_transaction_write_set_extraction_savepoint mysqltest: At line 34: query 'SAVEPOINT my_savepoint' succeeded - should have failed with errno 1290... The result from queries just before the failure was: < snip > Note #### Sending passwords in plain text without SSL/TLS is extremely insecure. Note #### Storing MySQL user name or password information in the master info repository is not secure and is therefore not recommended. Please consider using the USER and PASSWORD connection options for START SLAVE; see the 'START SLAVE Syntax' in the MySQL Manual for more information. [connection master] ############################################################ # 1. Assert that option transaction_write_set_extraction is # indeed set. include/assert.inc [The value for transaction_write_set_extraction should be MURMUR32] ############################################################ # 2. Create a table for the test case. CREATE TABLE t1 (c1 INT PRIMARY KEY); ############################################################ # 3. Validate that error is thrown when SAVEPOINT is used # when option transaction-write-set-extraction is set to # a value different of OFF on a regular transaction. BEGIN; INSERT INTO t1 VALUES(0); safe_process[3889]: Child process: 3890, exit: 1 - the logfile can be found in '/home/openxs/dbs/8.0/mysql-test/var/log/rpl.rpl_transaction_write_set_extraction_savepoint-row/rpl_transaction_write_set_extraction_savepoint.log' Only 2 of 3 completed. mysql-test-run: *** ERROR: Not all tests completed How to repeat: Build MySQL 8.0.11 from GitHub source using the following cmake command line: cmake . -DCMAKE_BUILD_TYPE=RelWithDebInfo -DBUILD_CONFIG=mysql_release -DFEATURE_SET=community -DWITH_EMBEDDED_SERVER=OFF -DCMAKE_INSTALL_PREFIX=/home/openxs/dbs/8.0 -DWITH_BOOST=/home/openxs/boost -DDOWNLOAD_BOOST=1 -DENABLE_DOWNLOADS=1 -DWITH_UNIT_TESTS=OFF Install it and run test: [openxs@fc23 mysql-test]$ ./mtr rpl.rpl_transaction_write_set_extraction_savepoint Enjoy the result... Suggested fix: Do something for this test NOT to fail.