[MDEV-31904] mariabackup --backup: [ERROR] InnoDB: File ./test/FTS_...._INDEX_4.ibd: 'open' returned OS error 71 Created: 2023-08-11  Updated: 2023-12-14

Status: Open
Project: MariaDB Server
Component/s: Storage Engine - InnoDB
Affects Version/s: 10.6.15
Fix Version/s: 10.6

Type: Bug Priority: Major
Reporter: Matthias Leich Assignee: Thirunarayanan Balathandayuthapani
Resolution: Unresolved Votes: 0
Labels: rr-profile

Attachments: File TBR-1352.cfg     File TBR-1352.yy    
Issue Links:
Relates
relates to MDEV-13825 mariabackup --lock-ddl-per-table does... Closed
relates to MDEV-22250 InnoDB: Failing assertion: opt_no_loc... Open
relates to MDEV-27551 mariabackup --backup aborts if a file... Open

 Description   

origin/HEAD, origin/10.6 0be4781428a4044b13b085965820a995652bb0e9 2023-08-09T03:14:35+02:00
 
Scenario:
1. Start the DB server
2. One session runs
    CREATE TABLE t1 ( col1 INT, col_text TEXT ) ENGINE = InnoDB ROW_FORMAT = Dynamic ;
3. The same session runs many times nothing else than
     ALTER TABLE t1 ADD FULLTEXT INDEX ( col_text ) , ADD FULLTEXT INDEX ( col_text ) , LOCK = SHARED ;
4. During 3. is ongoing mariabackup tries to backup to some destination.
    And this fails with
    # 2023-08-11T13:57:32 [2392742] | [rr 2401515 3511][00] 2023-08-11 13:57:32 mariabackup: Generating a list of tablespaces
# 2023-08-11T13:57:32 [2392742] | [rr 2401515 4010]2023-08-11 13:57:32 0 [ERROR] InnoDB: Operating system error number 2 in a file operation.
# 2023-08-11T13:57:32 [2392742] | [rr 2401515 4014]2023-08-11 13:57:32 0 [ERROR] InnoDB: The error means the system cannot find the path specified.
# 2023-08-11T13:57:32 [2392742] | [rr 2401515 4018]2023-08-11 13:57:32 0 [ERROR] InnoDB: File ./test/FTS_0000000000000134_0000000000000193_INDEX_4.ibd: 'open' returned OS error 71.
# 2023-08-11T13:57:32 [2392742] | [rr 2401515 4022]2023-08-11 13:57:32 0 [ERROR] InnoDB: Operating system error number 2 in a file operation.
# 2023-08-11T13:57:32 [2392742] | [rr 2401515 4026]2023-08-11 13:57:32 0 [ERROR] InnoDB: The error means the system cannot find the path specified.
# 2023-08-11T13:57:32 [2392742] | [rr 2401515 4030]2023-08-11 13:57:32 0 [Warning] InnoDB: Cannot open './test/FTS_0000000000000134_0000000000000193_INDEX_4.ibd'.
# 2023-08-11T13:57:32 [2392742] | [rr 2401515 4034][00] FATAL ERROR: 2023-08-11 13:57:32 Failed to validate first page of the file test/FTS_0000000000000134_0000000000000193_INDEX_4, error 62
 
(rr) bt
#0  0x0000000070000002 in syscall_traced ()
#1  0x000044ca162b41a4 in _raw_syscall () at /home/roc/rr/rr/src/preload/raw_syscall.S:120
#2  0x000044ca162af2ce in traced_raw_syscall (call=<optimized out>) at /home/roc/rr/rr/src/preload/syscallbuf.c:278
#3  0x000044ca162b30c3 in sys_fcntl (call=<optimized out>) at /home/roc/rr/rr/src/preload/syscallbuf.c:1529
#4  syscall_hook_internal (call=0x7f44515fbfa0) at /home/roc/rr/rr/src/preload/syscallbuf.c:3293
#5  syscall_hook (call=0x7f44515fbfa0) at /home/roc/rr/rr/src/preload/syscallbuf.c:3454
#6  0x000044ca162af0b0 in _syscall_hook_trampoline () at /home/roc/rr/rr/src/preload/syscall_hook.S:313
#7  0x000044ca162af10f in __morestack () at /home/roc/rr/rr/src/preload/syscall_hook.S:458
#8  0x000044ca162af12b in _syscall_hook_trampoline_48_3d_00_f0_ff_ff () at /home/roc/rr/rr/src/preload/syscall_hook.S:477
#9  0x000054437cdab7b7 in futex_abstimed_wait_cancelable (private=<optimized out>, abstime=0x725a5270cc60, clockid=<optimized out>, expected=0, futex_word=0x55893cb6a0ec <COND_timer+44>) at ../sysdeps/nptl/futex-internal.h:320
#10 __pthread_cond_wait_common (abstime=0x725a5270cc60, clockid=<optimized out>, mutex=0x55893cb6a148 <LOCK_timer+40>, cond=0x55893cb6a0c0 <COND_timer>) at pthread_cond_wait.c:520
#11 __pthread_cond_timedwait (cond=cond@entry=0x55893cb6a0c0 <COND_timer>, mutex=mutex@entry=0x55893cb6a148 <LOCK_timer+40>, abstime=abstime@entry=0x725a5270cc60) at pthread_cond_wait.c:656
#12 0x000055893ab49c2d in safe_cond_timedwait (cond=cond@entry=0x55893cb6a0c0 <COND_timer>, mp=mp@entry=0x55893cb6a120 <LOCK_timer>, abstime=abstime@entry=0x725a5270cc60, 
    file=file@entry=0x55893b647720 "/data/Server/10.6/include/mysql/psi/mysql_thread.h", line=line@entry=1088) at /data/Server/10.6/mysys/thr_mutex.c:546
#13 0x000055893ab4aca0 in inline_mysql_cond_timedwait (src_line=321, src_file=0x55893b6476c0 "/data/Server/10.6/mysys/thr_timer.c", abstime=0x725a5270cc60, mutex=0x55893cb6a120 <LOCK_timer>, that=0x55893cb6a0c0 <COND_timer>)
    at /data/Server/10.6/include/mysql/psi/mysql_thread.h:1088
#14 timer_handler (arg=<optimized out>) at /data/Server/10.6/mysys/thr_timer.c:321
#15 0x000054437cda4609 in start_thread (arg=<optimized out>) at pthread_create.c:477
#16 0x0000473f4c95d293 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95
(rr)
 
pluto:/data/results/1691762211/TBR-1352$ _RR_TRACE_DIR=./1_clone/rr/ rr replay --mark-stdio
 
RQG
===
# git clone https://github.com/mleich1/rqg --branch <pick the right branch> RQG
#
# GIT_SHOW: HEAD -> master, origin/master, origin/HEAD 73578f3ca544cad5d32a5e5b7b37f57f1e825c25 2023-08-11T12:52:25+02:00
# rqg.pl  : Version 4.3.0 (2023-06)
#
# $RQG_HOME/rqg.pl \
# --duration=300 \
# --queries=10000000 \
# --no_mask \
# --seed=random \
# --rpl_mode=none \
# --gendata=conf/mariadb/table_stress.zz \
# --max_gd_duration=1200 \
# --engine=InnoDB \
# --mysqld=--loose-idle_write_transaction_timeout=0 \
# --mysqld=--loose-innodb-log-file-size=200M \
# --mysqld=--lock-wait-timeout=86400 \
# --mysqld=--log-output=none \
# --mysqld=--file-key-management-filename=$RQG_HOME/conf/mariadb/encryption_keys.txt \
# --mysqld=--sync-binlog=1 \
# --mysqld=--loose-innodb_read_only_compressed=OFF \
# --mysqld=--innodb-lock-wait-timeout=50 \
# --mysqld=--innodb-buffer-pool-size=24M \
# --mysqld=--loose-plugin-load-add=provider_lz4.so \
# --mysqld=--loose-innodb_fatal_semaphore_wait_threshold=300 \
# --mysqld=--interactive_timeout=28800 \
# --mysqld=--loose-idle_readonly_transaction_timeout=0 \
# --mysqld=--log-bin \
# --mysqld=--plugin-load-add=file_key_management.so \
# --mysqld=--log_bin_trust_function_creators=1 \
# --mysqld=--loose_innodb_lock_schedule_algorithm=fcfs \
# --mysqld=--net_read_timeout=30 \
# --mysqld=--slave_net_timeout=60 \
# --mysqld=--loose-idle_transaction_timeout=0 \
# --mysqld=--innodb_page_size=64K \
# --mysqld=--loose-debug_assert_on_not_freed_memory=0 \
# --mysqld=--net_write_timeout=60 \
# --mysqld=--loose-max-statement-time=30 \
# --mysqld=--wait_timeout=28800 \
# --mysqld=--connect_timeout=60 \
# --mysqld=--loose-table_lock_wait_timeout=50 \
# --reporters=Deadlock,Mariabackup_linux,None \
# --validators=None \
# --grammar=TBR-1352.yy \
# --threads=1 \
# <local settings>



 Comments   
Comment by Marko Mäkelä [ 2023-08-16 ]

This might share a root cause with MDEV-22250, where I recently posted root cause analysis of an rr replay trace.

Comment by Marko Mäkelä [ 2023-12-08 ]

Something similar had once been fixed in MDEV-13825.

Generated at Thu Feb 08 10:27:20 UTC 2024 using Jira 8.20.16#820016-sha1:9d11dbea5f4be3d4cc21f03a88dd11d8c8687422.