Uploaded image for project: 'MariaDB Server'
  1. MariaDB Server
  2. MDEV-26794

MariaBackup does not recognize added providers upon prepare of incremental backup

    XMLWordPrintable

Details

    Description

      It looks like upon prepare of an incremental backup MariaBackup reads options (at least plugins) from the config file stored in the original full backup directory. So, if a provider was added since the original backup, MariaBackup cannot prepare tables compressed with the added algorithms.

      The MTR test case below simply hangs upon the 2nd prepare. If the output is redirected to a log, the last lines after which mariabackup hangs are

      preview-10.7-MDEV-12933-provider-plugins e0fee003

      2021-10-10  0:15:44 0 [Note] InnoDB: Starting crash recovery from checkpoint LSN=49872,49872
      2021-10-10  0:15:44 0 [Note] InnoDB: Starting final batch to recover 6 pages from redo log.
      2021-10-10  0:15:44 0 [Warning] InnoDB: 'test/t_snappy.ibd' is compressed with snappy, which is not currently loaded
      

      and the stack trace is

      Thread 1 (Thread 0x7ff4e0610800 (LWP 3598619)):
      #0  futex_wait_cancelable (private=<optimized out>, expected=0, futex_word=0x5605dab74cf8 <recv_sys+216>) at ../sysdeps/nptl/futex-internal.h:183
      #1  __pthread_cond_wait_common (abstime=0x0, clockid=0, mutex=0x5605dab74c48 <recv_sys+40>, cond=0x5605dab74cd0 <recv_sys+176>) at pthread_cond_wait.c:508
      #2  __pthread_cond_wait (cond=0x5605dab74cd0 <recv_sys+176>, mutex=0x5605dab74c48 <recv_sys+40>) at pthread_cond_wait.c:638
      #3  0x00005605da03def2 in safe_cond_wait (cond=0x5605dab74cd0 <recv_sys+176>, mp=0x5605dab74c20 <recv_sys>, file=0x5605da4f1ba0 "/data/src/preview-10.7-MDEV-12933-provider-plugins/storage/innobase/log/log0recv.cc", line=3143) at /data/src/preview-10.7-MDEV-12933-provider-plugins/mysys/thr_mutex.c:492
      #4  0x00005605d9d4ce7d in recv_sys_t::apply (this=0x5605dab74c20 <recv_sys>, last_batch=true) at /data/src/preview-10.7-MDEV-12933-provider-plugins/storage/innobase/log/log0recv.cc:3143
      #5  0x00005605d9e8e001 in srv_start (create_new_db=false) at /data/src/preview-10.7-MDEV-12933-provider-plugins/storage/innobase/srv/srv0start.cc:1488
      #6  0x00005605d9216e06 in innodb_init () at /data/src/preview-10.7-MDEV-12933-provider-plugins/extra/mariabackup/xtrabackup.cc:2144
      #7  0x00005605d922290c in xtrabackup_prepare_func (argv=0x5605dba614c8) at /data/src/preview-10.7-MDEV-12933-provider-plugins/extra/mariabackup/xtrabackup.cc:5891
      #8  0x00005605d92252f8 in main_low (argv=0x5605dba614c8) at /data/src/preview-10.7-MDEV-12933-provider-plugins/extra/mariabackup/xtrabackup.cc:6793
      #9  0x00005605d9224b29 in main (argc=4, argv=0x7ffd3c3ff558) at /data/src/preview-10.7-MDEV-12933-provider-plugins/extra/mariabackup/xtrabackup.cc:6591
      

      --source include/have_innodb.inc
       
      --let $targetdir=$MYSQLTEST_VARDIR/tmp/backup
      --let $incdir=$MYSQLTEST_VARDIR/tmp/inc
       
      CREATE TABLE t (a INT) ENGINE=InnoDB;
      INSERT INTO t VALUES (1),(2);
       
      --exec $XTRABACKUP --defaults-file=$MYSQLTEST_VARDIR/my.cnf --backup --target-dir=$targetdir
       
      INSTALL SONAME 'provider_snappy';
       
      SET GLOBAL innodb_compression_algorithm= snappy;
       
      CREATE TABLE t_snappy (a INT) ENGINE=InnoDB page_compressed=1;
      INSERT INTO t_snappy VALUES (3),(4);
       
      --source include/restart_mysqld.inc
       
      --exec $XTRABACKUP --defaults-file=$MYSQLTEST_VARDIR/my.cnf --backup --incremental-basedir=$targetdir --target-dir=$incdir
       
      --echo # Prepare initial backup
      --exec $XTRABACKUP --prepare --target-dir=$targetdir
       
      --echo # Prepare incremental backup
      --exec $XTRABACKUP --prepare --target-dir=$targetdir --incremental-dir=$incdir > /data/tmp/prepare.log 2>&1
       
      DROP TABLE t;
      

      Attachments

        Issue Links

          Activity

            People

              serg Sergei Golubchik
              elenst Elena Stepanova
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Git Integration

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