Details
-
Bug
-
Status: Open (View Workflow)
-
Major
-
Resolution: Unresolved
-
N/A
-
None
Description
If I run "mtr" from the mysql-test directory of the server build directory without --extern (to have MTR start and use its own mariadbd server), many tests fail.
Problems
The majority of failures happen due to the following reasons:
1. Missing InnoDB plugin (MCOL-4676)
Some tests miss have_innodb.inc and fail with
Unknown storage engine 'INNODB'
|
2. Unpredictable default storage engine (MCOL-4676)
Some tests miss:
set @@default_storage_engine=InnoDB
|
and fail with this symptom:
-) ENGINE=InnoDB DEFAULT CHARSET=koi8r
|
+) ENGINE=MyISAM DEFAULT CHARSET=koi8r
|
Note, many tests can actually be performed with MyISAM instead of InnoDB. This should be slightly faster. So perhaps in many tests we can use:
set @@default_storage_engine=MyISAM
|
and re-record tests results (e.g. SHOW CREATE TABLE output) accordingly.
3. Wrong locations for LOAD DATA files (MCOL-4678)
Some tests fail because of --secure-file-priv on OUTFILE and INFILE:
CURRENT_TEST: columnstore/basic.mcs102_ldi_transform_csv
|
mysqltest: At line 32: query 'LOAD DATA INFILE '/tmp/mcs102.csv' INTO TABLE discounts FIELDS TERMINATED BY ','' failed with wrong errno 1290: 'The MariaDB server is running with the --secure-file-priv option so it cannot execute this statement', instead of 1292...
|
These tests should be fixed to create temporary files (for LOAD) in the MariaDB data directory instead of /tmp.
4. Post-check failures
Some tests do not drop all objects they create so the post check phase fails:
--- /home/bar/maria-git/s10.5.cs6.pow10s01/BUILD-DEB/mysql-test/var/tmp/check-mysqld_1.result 2021-04-02 09:42:15.641402755 +0400
|
+++ /home/bar/maria-git/s10.5.cs6.pow10s01/BUILD-DEB/mysql-test/var/tmp/check-mysqld_1.reject 2021-04-02 09:42:16.897407543 +0400
|
@@ -572,12 +572,14 @@
|
WSREP_TRX_FRAGMENT_UNIT bytes
|
CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH SCHEMA_COMMENT
|
def information_schema utf8 utf8_general_ci NULL
|
+def mcs13_db2 latin1 latin1_swedish_ci NULL
|
def mtr latin1 latin1_swedish_ci NULL
|
def mysql latin1 latin1_swedish_ci NULL
|
def performance_schema utf8 utf8_general_ci NULL
|
9:50
|
5. Missing UDFs (MCOL-4693)
mysqltest: At line 17: query 'SELECT CORR(y, x) FROM t1' failed: 1305: FUNCTION mcs192_db.CORR does not exist
|
When mtr is started without --extern, it installs only the storage engine plugin, but it does not install UDFs. UDFs must be installed manually in the test file.
How to repeat
Compiling and installing
Suppose I have MariaDB sources in this directory:
/home/bar/maria-git/s10.5.cs6.pow10
|
I compile MariaDB+MCS using the following commands:
cd /home/bar/maria-git/s10.5.cs6.pow10
|
mkdir BUILD-DEB
|
cd BUILD-DEB
|
cmake .. -DCMAKE_BUILD_TYPE=Debug \
|
-DCMAKE_INSTALL_PREFIX=/opt/mariadb-10.5-cs \
|
-DPLUGIN_COLUMNSTORE=DYNAMIC \
|
-DSECURITY_HARDENED=0
|
make -j16
|
sudo make install
|
So in this example:
- source tree root is /home/bar/maria-git/s10.5.cs6.pow10
- compiled tree root is /home/bar/maria-git/s10.5.cs6.pow10/BUILD-DEB
Post-installation
Then I run usual MCS post-installation procedures and shutdown MariaDB server. Shutdown is not absolutely necessary but I just want to make sure MTR will start and use its own server instance (instead of the currently running one).
Preparation for an MTR run
THIS STEP IS NOT NEEDED ANY MORE (AFTER MCOL-4674 WAS FIXED)
Removed (see history for details)
Running tests
cd $BUILD/mysql-test/
|
./mtr --force --max-test-fail=0 --suite=columnstore/basic/
|
Attachments
Issue Links
- is blocked by
-
MCOL-4676 ColumnStore MTR tests: missing have_innodb.inc and unpredictable default_storage_engine
- Closed
-
MCOL-4678 MTR tests fail because of /tmp and ./ with LOAD DATA
- Closed
-
MCOL-4693 ColumnStore MTR tests: FUNCTION mcs192_db.CORR does not exist
- Closed
-
MCOL-4748 mtr mcs229_data_compression_type fails without --extern
- Closed
- relates to
-
MCOL-4674 Fix ColumnStore to run MTR tests in a build directory
- Closed
-
MCOL-4736 Fix cross-engine mtr tests to run without --extern
- Closed
-
MCOL-4749 mcs247_from_unixtime_funtion fails if local time zone is not GMT
- Closed