[MDEV-27121] mariabackup incompatible with disabled dedicated undo log tablespaces Created: 2021-11-24  Updated: 2022-11-08  Resolved: 2022-11-07

Status: Closed
Project: MariaDB Server
Component/s: Backup, Storage Engine - InnoDB
Affects Version/s: 10.3, 10.4, 10.5, 10.6, 10.7
Fix Version/s: 10.11.2, 10.3.38, 10.4.28, 10.5.19, 10.6.12, 10.7.8, 10.8.7, 10.9.5, 10.10.3

Type: Bug Priority: Major
Reporter: MG Assignee: Thirunarayanan Balathandayuthapani
Resolution: Fixed Votes: 0
Labels: backup

Issue Links:
Relates
relates to MDEV-12988 backup fails if innodb_undo_tablespac... Closed
relates to MDEV-19229 Allow innodb_undo_tablespaces to be c... Closed

 Description   

If you clone a server using `innodb-undo-tablespaces=4` to one that isn't, MariaDB server disables these with a warning:

2021-11-24 19:48:57 0 [Note] InnoDB: Opened 4 undo tablespaces
2021-11-24 19:48:57 0 [Warning] InnoDB: innodb_undo_tablespaces=0 disables dedicated undo log tablespaces
2021-11-24 19:48:57 0 [Note] InnoDB: 128 rollback segments in 4 undo tablespaces are active.

Subsequently trying to backup this instance with mariabackup fails:

(gdb) bt
#0  __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50
#1  0x00007f1731a91db5 in __GI_abort () at abort.c:79
#2  0x000055a8a0061df6 in ut_dbg_assertion_failed (expr=0x55a8a0b4dc84 "table",
    file=0x55a8a0991618 "/home/buildbot/buildbot/padding_for_CPACK_RPM_BUILD_SOURCE_DIRS_PREFIX/mariadb-10.6.5/extra/mariabackup/xtrabackup.cc", line=760)
    at /usr/src/debug/MariaDB-/src_0/storage/innobase/ut/ut0dbg.cc:60
#3  0x000055a8a0015260 in filename_to_spacename (filename=0x55a8a3594a78, len=<optimized out>) at /usr/src/debug/MariaDB-/src_0/extra/mariabackup/xtrabackup.cc:760
#4  0x000055a8a00b6c99 in xtrabackup_copy_datafile (node=0x55a8a3594a08, thread_n=2, dest_name=0x0, write_filter=..., corrupted_pages=...)
    at /usr/src/debug/MariaDB-/src_0/storage/innobase/include/fil0fil.h:94
#5  0x000055a8a00b7200 in data_copy_thread_func (ctxt=0x55a8a38194c8) at /usr/src/debug/MariaDB-/src_0/extra/mariabackup/xtrabackup.cc:3098
#6  0x00007f1732279ba3 in std::execute_native_thread_routine (__p=0x55a8a359e3d0) at ../../../../../libstdc++-v3/src/c++11/thread.cc:80
#7  0x00007f173275817a in start_thread (arg=<optimized out>) at pthread_create.c:479
#8  0x00007f1731b6cdc3 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95
(gdb) info frame
Stack level 3, frame at 0x7f1729afa460:
 rip = 0x55a8a0015260 in filename_to_spacename (/usr/src/debug/MariaDB-/src_0/extra/mariabackup/xtrabackup.cc:760); saved rip = 0x55a8a00b6c99
 called by frame at 0x7f1729afac50, caller of frame at 0x7f1729afa400
 source language c++.
 Arglist at 0x7f1729afa3f8, args: filename=0x55a8a3594a78, len=<optimized out>
 Locals at 0x7f1729afa3f8, Previous frame's sp is 0x7f1729afa460
 Saved registers:
  rbx at 0x7f1729afa428, rbp at 0x7f1729afa450, r12 at 0x7f1729afa430, r13 at 0x7f1729afa438, r14 at 0x7f1729afa440, r15 at 0x7f1729afa448, rip at 0x7f1729afa458
(gdb) frame 0x7f1729afa460
#3  0x000055a8a0015260 in filename_to_spacename (filename=0x55a8a3594a78, len=<optimized out>) at /usr/src/debug/MariaDB-/src_0/extra/mariabackup/xtrabackup.cc:760
760     ut_a(table);
(gdb) frame 0x7f1729afac50
#4  0x000055a8a00b6c99 in xtrabackup_copy_datafile (node=0x55a8a3594a08, thread_n=2, dest_name=0x0, write_filter=..., corrupted_pages=...)
    at /usr/src/debug/MariaDB-/src_0/storage/innobase/include/fil0fil.h:94
94    return srv_undo_space_id_start > 0 &&



 Comments   
Comment by Thirunarayanan Balathandayuthapani [ 2022-11-04 ]

Patch is in bb-10.3-MDEV-27121

Comment by Marko Mäkelä [ 2022-11-04 ]

Thank you, the fix looks OK to me.

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