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

Allow full redo logging for ALTER TABLE

    Details

      Description

      As part of WL#7277 in MySQL 5.7, redo logging was disabled during ALTER TABLE…ALGORITHM=INPLACE operations that rebuild the table or create indexes (other than spatial indexes).

      In Bug#21796691 INNODB REDO LOG DOES NOT INDICATE WHEN REDO LOGGING IS SKIPPED (MySQL 5.7.9, the first GA release) I introduced the redo log record MLOG_INDEX_LOAD for informing backup tools that the backup may be invalid.

      For deployments where ALTER TABLE operations may be executed concurrently with backup, it would be simpler to keep writing redo log, and not having backups fail, and not need any --lock-ddl-per-table option that makes backup interfere with the normal operation of the server. This would also remove the need to flush dirty pages from the buffer pool before committing the ALTER TABLE operation.

      On the other hand, when bulk loading data (before MDEV-515 is implemented), it can be useful to load the data first, then create secondary indexes. For this use case, omitting the redo logging may be very useful. So, we should have an option that controls whether the redo logging should be disabled.

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                marko Marko Mäkelä
                Reporter:
                marko Marko Mäkelä
              • Votes:
                0 Vote for this issue
                Watchers:
                4 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: