[MDEV-16172] Remove InnoDB 5.7 version number from MariaDB 10.3 onwards Created: 2018-05-15  Updated: 2022-06-17  Due: 2018-05-15  Resolved: 2018-10-08

Status: Closed
Project: MariaDB Server
Component/s: Storage Engine - InnoDB
Fix Version/s: 10.3.7

Type: Task Priority: Major
Reporter: Marko Mäkelä Assignee: Marko Mäkelä
Resolution: Fixed Votes: 0
Labels: compat57

Issue Links:
Blocks
blocks MDEV-28554 Remove innodb_version Closed
Problem/Incident
causes MDEV-23141 PHP mysqli reports 'READ WRITE' and '... Closed

 Description   

Because the InnoDB implementation in MariaDB has diverged from MySQL, it is not meaningful to report a MySQL version number for InnoDB any more. Some examples:

  • MariaDB 10.1 (which is based on MySQL 5.6) included encryption and variable-size page compression before MySQL 5.7 introduced them
  • MariaDB 10.2 (based on MySQL 5.7) introduced persistent AUTO_INCREMENT (MDEV-6076) in a GA release before MySQL 8.0
  • MariaDB 10.3 (based on MySQL 5.7) introduced instant ADD COLUMN (MDEV-11369) before MySQL

All of these features use a different implementation and file format. Also, some features were never merged from MySQL 5.7, and thus MariaDB is not affected by related bugs. Examples include CREATE TABLESPACE and the reimplementation of the partitioning engine.



 Comments   
Comment by Marko Mäkelä [ 2018-05-17 ]

For some reason, the tests rpl.rpl_parallel2 and rpl.rpl_semi_sync_after_sync intermittently fail after the InnoDB version number was changed.

10.3 442a6e6b257e335f70730b0e18394c2f638f2962

CURRENT_TEST: rpl.rpl_parallel2
mysqltest: In included file "./include/rpl_init.inc": 
included from /mariadb/10.3/mysql-test/suite/rpl/t/rpl_parallel2.test at line 6:
At line 165: query 'SET GLOBAL gtid_slave_pos= ""' failed: 1198: This operation cannot be performed as you have a running slave ''; run STOP SLAVE '' first

I have disabled these tests for now.

Comment by Kristian Nielsen [ 2018-10-07 ]

That's ridiculous. The failure clearly has nothing to do with the specific rpl_parallel2 test (or with InnoDB version number for that matter).

The failure message clearly shows that the error happens before the test case proper has even started, during the normal replication setup in include/rpl_init.inc that every replication testcase does. As the error says the problem is that the previous testcase left a slave thread running (maybe it forgot to have include/rpl_end.inc at the end of the testcase). This will cause an error at random in whatever testcase happens to run as the next one in the current run. Disabling rpl_parallel2 does nothing to solve this problem.

The test cases need to be enabled again, rpl_parallel2 is an important test case.

Comment by Sergei Golubchik [ 2018-10-08 ]

Thanks knielsen, I've created a new MDEV-17390 for this.

Generated at Thu Feb 08 08:26:55 UTC 2024 using Jira 8.20.16#820016-sha1:9d11dbea5f4be3d4cc21f03a88dd11d8c8687422.