[MDEV-22020] spider/bugfix.return_found_rows_update wrongly depends on /etc/mysql contents Created: 2020-03-24  Updated: 2020-03-31  Resolved: 2020-03-24

Status: Closed
Project: MariaDB Server
Component/s: Storage Engine - Spider, Tests
Affects Version/s: 10.4, 10.5
Fix Version/s: 10.4.13, 10.5.2

Type: Bug Priority: Major
Reporter: Marko Mäkelä Assignee: Marko Mäkelä
Resolution: Fixed Votes: 0
Labels: None


 Description   

A Spider test wrongly depends on the contents of /etc/mysql/mariadb.conf.d. On my Debian GNU/Linux Sid (unstable) system, I had files in that directory installed by the following packages:

sudo apt purge mariadb-common mariadb-client-10.3
./mtr spider/bugfix.return_found_rows_update
sudo apt install mariadb-common mariadb-client-10.3
./mtr spider/bugfix.return_found_rows_update

The two files /etc/mysql/mariadb.conf.d/50-client.cnf and /etc/mysql/mariadb.conf.d/50-mysql-clients.cnf include the setting

default-character-set = utf8mb4

which affects the test result. Side note: I will need the following fix in order to be able to compile Spider using clang++-10. It would fail due to {{ -Wsometimes-uninitialized}}:

diff --git a/storage/spider/spd_db_conn.cc b/storage/spider/spd_db_conn.cc
index afdd3a4c828..7b61678dabd 100644
--- a/storage/spider/spd_db_conn.cc
+++ b/storage/spider/spd_db_conn.cc
@@ -5861,6 +5861,7 @@ int spider_db_simple_action(
 #endif
     default:
       DBUG_ASSERT(0);
+      error_num= -1;
       break;
   }
   DBUG_RETURN(error_num);

The test fails for me with the following result difference:

CURRENT_TEST: spider/bugfix.return_found_rows_update
--- /mariadb/10.4/storage/spider/mysql-test/spider/bugfix/r/return_found_rows_update.result	2020-02-06 12:50:30.534105414 +0200
+++ /mariadb/10.4/storage/spider/mysql-test/spider/bugfix/r/return_found_rows_update.reject	2020-03-24 08:55:55.829888665 +0200
@@ -48,7 +48,7 @@
 connection child2_1;
 SELECT argument FROM mysql.general_log WHERE argument LIKE '%update %';
 argument
-update `auto_test_remote`.`tbl_a` set `tm` = _latin1'12:00:00' where (`skey` = 0)
+update `auto_test_remote`.`tbl_a` set `tm` = _utf8mb4'12:00:00' where (`skey` = 0)
 SELECT argument FROM mysql.general_log WHERE argument LIKE '%update %'
 SELECT skey, dt, tm FROM tbl_a ORDER BY skey;
 skey	dt	tm
 
mysqltest: Result length mismatch

If I purge the packages from Debian, then the test would pass.
Apparently, this test is not being run on buildbot, because the buildbot cross-reference has no data on this test.


Generated at Thu Feb 08 09:11:35 UTC 2024 using Jira 8.20.16#820016-sha1:9d11dbea5f4be3d4cc21f03a88dd11d8c8687422.