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

Crash if enable 'federatedx' when 'federated' plugin already enabled, and vice-versa

    Details

    • Type: Bug
    • Status: Closed (View Workflow)
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: 10.0.12
    • Fix Version/s: 10.0.13
    • Component/s: None
    • Labels:
      None
    • Environment:
      Windows

      Description

      I was testing out enabling some storage engines in 10.0.12, and generated a crash with the following 2 statements:

      install soname 'ha_federated.dll';
      install soname 'ha_federatedx.dll';

      Here is the session output:

      mysql> install soname 'ha_federated.dll';
      Query OK, 0 rows affected (0.00 sec)
       
      mysql> show engines;
      +--------------------+---------+----------------------------------------------------------------------------+--------------+------+------------+
      | Engine             | Support | Comment                                                                    | Transactions | XA   | Savepoints |
      +--------------------+---------+----------------------------------------------------------------------------+--------------+------+------------+
      | EXAMPLE            | YES     | Example storage engine                                                     | NO           | NO   | NO         |
      | MRG_MyISAM         | YES     | Collection of identical MyISAM tables                                      | NO           | NO   | NO         |
      | MEMORY             | YES     | Hash based, stored in memory, useful for temporary tables                  | NO           | NO   | NO         |
      | BLACKHOLE          | YES     | /dev/null storage engine (anything you write to it disappears)             | NO           | NO   | NO         |
      | Aria               | YES     | Crash-safe tables with MyISAM heritage                                     | NO           | NO   | NO         |
      | PERFORMANCE_SCHEMA | YES     | Performance Schema                                                         | NO           | NO   | NO         |
      | ARCHIVE            | YES     | Archive storage engine                                                     | NO           | NO   | NO         |
      | CSV                | YES     | CSV storage engine                                                         | NO           | NO   | NO         |
      | FEDERATED          | YES     | FederatedX pluggable storage engine                                        | YES          | NO   | YES        |
      | MyISAM             | YES     | MyISAM storage engine                                                      | NO           | NO   | NO         |
      | InnoDB             | DEFAULT | Percona-XtraDB, Supports transactions, row-level locking, and foreign keys | YES          | YES  | YES        |
      | SPIDER             | YES     | Spider storage engine                                                      | YES          | YES  | NO         |
      | CONNECT            | YES     | Management of External Data (SQL/MED), including many file formats         | NO           | NO   | NO         |
      +--------------------+---------+----------------------------------------------------------------------------+--------------+------+------------+
      13 rows in set (0.00 sec)
       
      mysql> install soname 'ha_federatedx.dll';
      ERROR 2013 (HY000): Lost connection to MySQL server during query

      The same also happens if you install 'federatedx' first, and then 'federated'.

      Note this corrupts the plugin table as well.

      If once you restart mysqld after the crash, the run the crashing command again, you will see this in the error log:

      140805 21:11:10 [ERROR] mysqld.exe: Table '.\mysql\plugin' is marked as crashed and should be repaired
      140805 21:11:10 [ERROR] mysqld.exe: Table 'plugin' is marked as crashed and should be repaired
      140805 21:11:10 [Warning] Checking table:   '.\mysql\plugin'
      140805 21:11:10 [ERROR] mysql.plugin: 1 client is using or hasn't closed the table properly

      When I ran:

      uninstall soname 'ha_federated.dll';

      That fixed the corruption, as I could then add either federated again (just not both).

      Also, note that nothing was logged to the error log about the crash. The log made it look as if mysqld was still running:

      ...
      140805 21:13:25 [Note] Event Scheduler: Loaded 0 events
      140805 21:13:25 [Note] Reading of all Master_info entries succeded
      140805 21:13:25 [Note] Added new Master_info '' to hash table
      140805 21:13:25 [Note] C:\Program Files\MariaDB 10.0\bin\mysqld.exe: ready for connections.
      Version: '10.0.12-MariaDB'  socket: ''  port: 3315  mariadb.org binary distribution
      <--- Nothing else, but mysqld was crashed and down

        Attachments

          Activity

            People

            • Assignee:
              serg Sergei Golubchik
              Reporter:
              ccalender Chris Calender
            • Votes:
              1 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: