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

Implement async commit checkpoint in InnoDB and XtraDB

    Details

    • Type: Task
    • Status: Closed
    • Priority: Major
    • Resolution: Fixed
    • Fix Version/s: 10.0.1
    • Component/s: None
    • Labels:
      None

      Description

      MDEV-232 introduces commit checkpoints in the storage engines. Such
      checkpoints can be performed fully asynchronous, but current implementation
      in InnoDB/XtraDB is mostly synchronous.

      This task is about improving this to a fully asynchronous implementation.

      In addition I want to extend the server layer binlog checkpointing so that it
      does the actual writing of checkpoint event to the binlog in a separate
      background thread:

      1. The commit_checkpoint_notify_ha() call may come from arbitrary thread in
      the storage engine which may not be prepared to have lengthy binlog sync or
      other stuff done in its own thread context.

      2. I need to use debug_sync in the test cases to make them deterministic, but
      this requires THD, and eg. innodb background log flush does not have THD.

      3. Such background binlog thread will later be useful to do binlog
      pre-allocation or rotation in the background, to further improve performance
      and reduce stalls.

        Gliffy Diagrams

          Attachments

            Activity

            Hide
            knielsen Kristian Nielsen added a comment -

            assigning to serg for review

            Show
            knielsen Kristian Nielsen added a comment - assigning to serg for review
            Hide
            knielsen Kristian Nielsen added a comment -

            pushed to 10.0-base

            Show
            knielsen Kristian Nielsen added a comment - pushed to 10.0-base

              People

              • Assignee:
                knielsen Kristian Nielsen
                Reporter:
                knielsen Kristian Nielsen
              • Votes:
                0 Vote for this issue
                Watchers:
                1 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved:

                  Time Tracking

                  Estimated:
                  Original Estimate - Not Specified
                  Not Specified
                  Remaining:
                  Remaining Estimate - 0 minutes
                  0m
                  Logged:
                  Time Spent - 2 days, 1 hour, 40 minutes
                  2d 1h 40m