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

Concurrent DDL for Aria tables in BACKUP SERVER

    XMLWordPrintable

Details

    • Task
    • Status: Open (View Workflow)
    • Minor
    • Resolution: Unresolved
    • None
    • None
    • None

    Description

      This ticket covers a potential improvement to perform DDL (e.g. drop, create, rename tables, change table definitions) on Aria tables while BACKUP SERVER is being performed. This would allow the backup to be less intrusive: currently tables from Aria engine and other engines other than InnoDB (and RocksDB which is not supported by BACKUP SERVER yet when this is written) are copied in a late stage of BACKUP SERVER, when DDL is blocked effectively until end of backup.

      The value of doing this must be weighed against complexity and potential pessimization (backup will be less intrusive, but slower). It would be significant for cases where large amounts of data are stored in Aria tables and where DDL would be performed during backup and would need to run in a timely manner.

      Based on implementation in mariadb-backup, implementing this feature introduces considerable complexity:

      • All DDL operations performed before the "DDL-locked" phase have to be logged. An initial DDL-locked phase would have to be introduced, in which the logging would be initialized.
      • Tables need to be inspected for whether they're transactional or not to determine which phase they should be copied in (this might slow down the backup somewhat).
      • Tables have to be locked against DDL individually (analogous to executing BACKUP LOCK command) while they're being copied.
      • The DDL needs to be applied. Some investigation is needed here on what exactly mariadb-backup does here and whether we want to do the same thing in BACKUP SERVER; possible complications include having different logic for streaming backup than backup to directory, copying files to a temporary intermediate directory before streaming backup (again a possible pessimization) or recording additional information in a config file and performing actions based on that during startup.

      Attachments

        Issue Links

          Activity

            People

              andrzej.jarzabek Andrzej Jarzabek
              andrzej.jarzabek Andrzej Jarzabek
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

                Created:
                Updated:

                Time Tracking

                  Estimated:
                  Original Estimate - 14d
                  14d
                  Remaining:
                  Remaining Estimate - 14d
                  14d
                  Logged:
                  Time Spent - Not Specified
                  Not Specified

                  Git Integration

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