[MDEV-26529] binlog.binlog_flush_binlogs_delete_domain fails on RISC-V Created: 2021-09-02  Updated: 2021-09-06  Resolved: 2021-09-06

Status: Closed
Project: MariaDB Server
Component/s: Tests
Affects Version/s: 10.5.12
Fix Version/s: 10.2.41, 10.3.32, 10.4.22, 10.5.13, 10.6.5

Type: Bug Priority: Minor
Reporter: Marek Szuba Assignee: Daniel Black
Resolution: Fixed Votes: 0
Labels: None
Environment:

Linux/rv64



 Description   

While trying to build MariaDB-10.5.12 on a 64-bit RISC-V Linux system, the test binlog.binlog_flush_binlogs_delete_domain fails with:

  • * *

binlog.binlog_flush_binlogs_delete_domain 'mix' w4 [ fail ]
Test ended at 2021-09-01 22:55:29

CURRENT_TEST: binlog.binlog_flush_binlogs_delete_domain
— /tmp/mariadb-10.5.11/mysql-test/suite/binlog/r/binlog_flush_binlogs_delete_domain.result 2021-06-18 18:19:11.000000000 +0800
+++ /tmp/mariadb-10.5.11/mysql-test/suite/binlog/r/binlog_flush_binlogs_delete_domain.reject 2021-09-01 22:55:29.406655479 +0800
@@ -85,6 +85,6 @@
ERROR HY000: The value of gtid domain being deleted ('4294967296') exceeds its maximum size of 32 bit unsigned integer
FLUSH BINARY LOGS DELETE_DOMAIN_ID = (4294967295);
Warnings:
-Warning 1076 The gtid domain being deleted ('4294967295') is not in the current binlog state
+Warning 1076 The gtid domain being deleted ('18446744073709551615') is not in the current binlog state
DROP TABLE t;
RESET MASTER;

mysqltest: Result length mismatch

  • * *

This is the last test that still fails on this arch (older versions had more failures). It would be great to have it resolved so that RISC-V can finally be considered supported, especially given other servers from the MySQL family currently explicitly report this architecture as unsupported.

Let me know if you need more information.



 Comments   
Comment by Daniel Black [ 2021-09-03 ]

Is this the only test that fails? Add --force to mtr for it to continue after the first failure (up to 10 aka --max-test-fail).

Comment by Marek Szuba [ 2021-09-03 ]

Yes, it's the only one (we run mtr with --force in Gentoo). It was 4 in 10.5.11, you can find the full build-and-test output for that version in https://bugs.gentoo.org/807995 .

Comment by Daniel Black [ 2021-09-04 ]

Can you try the below patch? I assume its just reading the type wrong in the error message as ptr_domain_id is a uint32*:

diff --git a/sql/rpl_gtid.cc b/sql/rpl_gtid.cc
index bc06188af34..e4514e28e64 100644
--- a/sql/rpl_gtid.cc
+++ b/sql/rpl_gtid.cc
@@ -2188,7 +2188,7 @@ rpl_binlog_state::drop_domain(DYNAMIC_ARRAY *ids,
       push_warning_printf(current_thd, Sql_condition::WARN_LEVEL_WARN,
                           ER_BINLOG_CANT_DELETE_GTID_DOMAIN,
                           "The gtid domain being deleted ('%lu') is not in "
-                          "the current binlog state", *ptr_domain_id);
+                          "the current binlog state", (unsigned long) *ptr_domain_id);
       continue;
     }
 

Comment by Marek Szuba [ 2021-09-05 ]

This indeed makes the test pass and 10.5.12 install successfully.

Comment by Daniel Black [ 2021-09-06 ]

Thanks Marek.

Fixed.

Also fixed the other test case binlog.binlog_stm_ctype_ucs that I incompletely fixed in MDEV-12055 that I'm surprised no one else has come across.

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