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

Server miscalculates the number of XA-capable engines

Details

    • Bug
    • Status: Closed (View Workflow)
    • Major
    • Resolution: Fixed
    • 10.1(EOL)
    • 10.1.10
    • Plugins, XA
    • None
    • 10.1.10

    Description

      Apparently, 10.1 somehow wrongly counts the number of XA-capable engines. Here are some scenarios which make me think that:

      • start server with only one XA-capable engine, e.g. XtraDB;
      • see tc.log is created (already strange, it shouldn't do that, right?);
      • sigkill server;
      • start server with two XA-capable engines, e.g. XtraDB and TokuDB;
      • see the error message in the log:

        [ERROR] Recovery failed! You must enable exactly 2 storage engines that support two-phase commit protocol

        It should be 1, not 2, right?

      or

      • start server with two XA-capable engines, e.g. XtraDB and TokuDB;
      • see tc.log is created;
      • sigkill server;
      • start server without TokuDB;
      • see the error message in the log:

        [ERROR] Recovery failed! You must enable exactly 3 storage engines that support two-phase commit protocol

        It should be 2, not 3, right?

      Attachments

        Issue Links

          Activity

            elenst Elena Stepanova created issue -

            I've set it up on perro.
            Log in as usual.

            cd ~/mdev9214/10.1/mysql-test
            perl ./mtr mdev9214

            The test runs with XtraDB and TokuDB at first, then restarts the server without TokuDB and fails with

            2015-11-30 23:08:49 140046048638848 [ERROR] Recovery failed! You must enable exactly 3 storage engines that support two-phase commit protocol
            2015-11-30 23:08:49 140046048638848 [ERROR] Crash recovery failed. Either correct the problem (if it's, for example, out of memory error) and restart, or delete tc log and start mysqld with --tc-heuristic-recover={commit|rollback}
            2015-11-30 23:08:49 140046048638848 [ERROR] Can't init tc log
            2015-11-30 23:08:49 140046048638848 [ERROR] Aborting

            elenst Elena Stepanova added a comment - I've set it up on perro. Log in as usual. cd ~/mdev9214/10.1/mysql-test perl ./mtr mdev9214 The test runs with XtraDB and TokuDB at first, then restarts the server without TokuDB and fails with 2015-11-30 23:08:49 140046048638848 [ERROR] Recovery failed! You must enable exactly 3 storage engines that support two-phase commit protocol 2015-11-30 23:08:49 140046048638848 [ERROR] Crash recovery failed. Either correct the problem (if it's, for example, out of memory error) and restart, or delete tc log and start mysqld with --tc-heuristic-recover={commit|rollback} 2015-11-30 23:08:49 140046048638848 [ERROR] Can't init tc log 2015-11-30 23:08:49 140046048638848 [ERROR] Aborting
            elenst Elena Stepanova made changes -
            Field Original Value New Value
            Assignee Elena Stepanova [ elenst ] Sergei Golubchik [ serg ]

            The unpleasant side-effect is that while 10.0 started with only one XA-capable engine (which is the most common situation) does not care about a stale tc.log, 10.1 does, and can fail to start. I think it was the reason of the problem in MDEV-9193.

            elenst Elena Stepanova added a comment - The unpleasant side-effect is that while 10.0 started with only one XA-capable engine (which is the most common situation) does not care about a stale tc.log, 10.1 does, and can fail to start. I think it was the reason of the problem in MDEV-9193 .
            elenst Elena Stepanova made changes -
            serg Sergei Golubchik made changes -
            Sprint 10.1.10 [ 24 ]
            serg Sergei Golubchik made changes -
            Status Open [ 1 ] In Progress [ 3 ]
            serg Sergei Golubchik made changes -
            Status In Progress [ 3 ] Stalled [ 10000 ]
            serg Sergei Golubchik made changes -
            Fix Version/s 10.1.10 [ 20402 ]
            Fix Version/s 10.1 [ 16100 ]
            Resolution Fixed [ 1 ]
            Status Stalled [ 10000 ] Closed [ 6 ]
            serg Sergei Golubchik made changes -
            Workflow MariaDB v3 [ 72811 ] MariaDB v4 [ 149878 ]

            People

              serg Sergei Golubchik
              elenst Elena Stepanova
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Git Integration

                  Error rendering 'com.xiplink.jira.git.jira_git_plugin:git-issue-webpanel'. Please contact your Jira administrators.