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

mariabackup --incremental --prepare fails to extend last file when applying ibdata1.delta

    Details

      Description

      When applying the first incremental backup onto an existing full backup using apply-log-only, mariabackup 10.1.29 changes ibdata1 size when applying ibdata1.delta.

      Here are the critical lines from the mariabackup output:

      mariabackup based on MariaDB server 10.1.29-MariaDB Linux (x86_64) 
      incremental backup from 63608267966808 is enabled.
      mariabackup: cd to /var/backup/backup0/xtrabackup/00_full/
      mariabackup: This target seems to be already prepared with --apply-log-only.
      mariabackup: xtrabackup_logfile detected: size=33619968, start_lsn=(63609603317650)
      mariabackup: using the following InnoDB configuration for recovery:
      mariabackup:   innodb_data_home_dir = ./
      mariabackup:   innodb_data_file_path = ibdata1:1G;ibdata2:1G:autoextend:max:16G
      mariabackup:   innodb_log_group_home_dir = /var/backup/backup0/xtrabackup/20171120_001001/
      mariabackup:   innodb_log_files_in_group = 1
      mariabackup:   innodb_log_file_size = 33619968
      mariabackup: Generating a list of tablespaces
      2017-11-20  3:02:52 140704255141920 [Note] InnoDB: Processed 2541 .ibd/.isl files
      2017-11-20  3:03:08 140704255141920 [Note] InnoDB: Processed 4653 .ibd/.isl files
      mariabackup: page size for /var/backup/backup0/xtrabackup/20171120_001001//ibdata1.delta is 16384 bytes
      Applying /var/backup/backup0/xtrabackup/20171120_001001//ibdata1.delta to ./ibdata1...
      mariabackup: page size for /var/backup/backup0/xtrabackup/20171120_001001//ibdata2.delta is 16384 bytes
      Applying /var/backup/backup0/xtrabackup/20171120_001001//ibdata2.delta to ./ibdata2...
      ....
      ....
      mariabackup: using the following InnoDB configuration for recovery:
      mariabackup:   innodb_data_home_dir = ./
      mariabackup:   innodb_data_file_path = ibdata1:1G;ibdata2:1G:autoextend:max:16G
      mariabackup:   innodb_log_group_home_dir = /var/backup/backup0/xtrabackup/20171120_001001/
      mariabackup:   innodb_log_files_in_group = 1
      mariabackup:   innodb_log_file_size = 33619968
      mariabackup: Starting InnoDB instance for recovery.
      mariabackup: Using 8589934592 bytes for buffer pool (set by --use-memory parameter)
      2017-11-20  3:06:06 140704255141920 [Note] InnoDB: Using mutexes to ref count buffer pool pages
      2017-11-20  3:06:06 140704255141920 [Note] InnoDB: The InnoDB memory heap is disabled
      2017-11-20  3:06:06 140704255141920 [Note] InnoDB: Mutexes and rw_locks use GCC atomic builtins
      2017-11-20  3:06:06 140704255141920 [Note] InnoDB: GCC builtin __atomic_thread_fence() is used for memory barrier
      2017-11-20  3:06:06 140704255141920 [Note] InnoDB: Compressed tables use zlib 1.2.3
      2017-11-20  3:06:06 140704255141920 [Note] InnoDB: Using generic crc32 instructions
      2017-11-20  3:06:06 140704255141920 [Note] InnoDB: Initializing buffer pool, size = 8.0G
      2017-11-20  3:06:07 140704255141920 [Note] InnoDB: Completed initialization of buffer pool
      2017-11-20  3:06:07 140704255141920 [ERROR] InnoDB: Data file ./ibdata1 is of a different size 1015808 pages (rounded down to MB) than specified in the .cnf file 65536 pages!
      2017-11-20  3:06:07 140704255141920 [ERROR] InnoDB: Could not open or create the system tablespace. If you tried to add new data files to the system tablespace, and it failed here, you should now edit innodb_data_file_path in my.cnf back to what it was, and remove the new ibdata files InnoDB created in this failed attempt. InnoDB only wrote those files full of zeros, but did not yet use them in any way. But be careful: do not remove old data files which contain your precious data!
      mariabackup: innodb_init(): Error occured.
      ...
      ...
      

      And mariabackup returns 1 as error code.

      My ibdata1 size was 1GB. After the applying ibdata1.delta, the new size has been 16GB.

      Previous 10.1.28 version of mariabackup was working correctly.,

      My auto-growing ibdata2 size was 15 GB. Its new size after the delta is applied is still 15 GB. So, it seems only ibdata1 is affected.

      What I think is probably my innodb_data_file_path is a bit unusual, such that ibdata1 is fixed 1 GB, but ibdata2 is initially 1 GB, growable to 16GB, and is currently 15GB.

      This is a blocker to use mariabackup 10.1.29. I will probably revert to using mariabackup 10.1.28 until this has been fixed.

      Note: My backed up data folder locations:
      Full backup resides on folder:
      /var/backup/backup0/xtrabackup/00_full

      First (and only) incremental backup resides on folder:
      /var/backup/backup0/xtrabackup/20171120_001001

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                marko Marko Mäkelä
                Reporter:
                gokhan Gokhan Demir
              • Votes:
                0 Vote for this issue
                Watchers:
                6 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: