Uploaded image for project: 'MariaDB ColumnStore'
  1. MariaDB ColumnStore
  2. MCOL-4659

Server MTR failures on ColumnStore tests

    XMLWordPrintable

Details

    • Bug
    • Status: Open (View Workflow)
    • Major
    • Resolution: Unresolved
    • N/A
    • Icebox
    • mtr
    • 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

          Activity

            People

              Unassigned Unassigned
              bar Alexander Barkov
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

                Created:
                Updated:

                Git Integration

                  Error rendering 'com.xiplink.jira.git.jira_git_plugin:git-issue-webpanel'. Please contact your Jira administrators.