InnoDB uses a novel file flush technique called doublewrite. Before writing pages to a data file, InnoDB first writes them to a contiguous area called the doublewrite buffer. Only after the write and the flush to the doublewrite buffer have completed does InnoDB write the pages to their proper positions in the data file. If the operating system crashes in the middle of a page write, InnoDB can later find a good copy of the page from the doublewrite buffer during recovery.
        The doublewrite buffer may also contain compressed pages.
        However, the built-in InnoDB in MySQL cannot recognize such pages, and it
        assumes that compressed pages in the doublewrite buffer are
        corrupted. It also wrongly assumes that the tablespace (the
        .ibd file) consists of 16K byte pages. Thus,
        you may find InnoDB warnings in the error log of the form
        “a page in the doublewrite buffer is not within space
        bounds”.
      
        The doublewrite buffer is not scanned after a clean
        shutdown. In an emergency, you may prevent crash
        recovery by setting innodb_force_recovery=6. However, this is
        strongly discouraged,
        because it may lead into severe corruption. For more
        information, see the MySQL manual on
        Forcing
        InnoDB Recovery.
      
This is the User’s Guide for InnoDB storage engine 1.1 for MySQL 5.5, generated on 2010-04-13 (revision: 19994) .

