Uploaded image for project: 'Percona Server for MySQL'
  1. Percona Server for MySQL
  2. PS-743

LP #1255551: Tc_log_page_size should be unflushable or server crashes if 2 XA SEs installed

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Done
    • Priority: High
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: None
    • Component/s: None

      Description

      **Reported in Launchpad by Laurynas Biveinis last update 23-12-2013 04:25:21

      http://bugs.mysql.com/bug.php?id=70854:

      [7 Nov 10:40] Laurynas Biveinis

      Description:
      Credit goes to MariaDB.

      With bug 47134 fixed, if TC_LOG_MMAP is in use (because of two XA-supporting storage engines available, such as InnoDB and TokuDB), FLUSH STATUS should cause a server crash on the next XA commit.

      The status variable tc_log_page_size is directly bound to tc_log_page_size source variable, which is setup once in TC_LOG_MMAP::open(). A FLUSH would cause it to be reset to zero. Then TC_LOG_MMAP::unlog() would attempt to divide by it.

      How to repeat:
      Code analysis. It's not easy to make a testcase due to stock MySQL not having a second XA-supporting storage engine.

      Suggested fix:
      Make Tc_log_page_size a SHOW_LONG_NOFLUSH variable.

        Attachments

          Activity

            People

            Assignee:
            Unassigned
            Reporter:
            lpjirasync lpjirasync (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Dates

              Created:
              Updated:
              Resolved:

                Smart Checklist