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 (View Workflow)
    • 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.

        Attachments

          Activity

            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: