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

Error messages about unavailable compression libraries not returned in diagnostics

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Open (View Workflow)
    • Priority: Major
    • Resolution: Unresolved
    • Affects Version/s: N/A
    • Fix Version/s: 10.7
    • Component/s: Plugins
    • Labels:
      None

      Description

      As we are knowingly introducing possible upgrade difficulty in 10.7 by disabling by default compression libraries which were previously enabled, it is important to at least simplify problem handling for users who encounter it.

      It appears that the server/InnoDB is quite capable of discovering what exactly is missing. When a table compressed with an uninstalled algorithm is queried, a detailed error message is written to the error log:

      2021-10-06 20:05:31 4 [ERROR] InnoDB: Table `test`.`t` is compressed with snappy, which is not currently loaded. Please load the snappy provider plugin to open the table
      

      But in the response to SQL, a user can only see ER_NO_SUCH_TABLE_IN_ENGINE:

      preview-10.7-MDEV-12933-provider-plugins 67a8fca9b7

      MariaDB [test]> select * from t;
      ERROR 1932 (42S02): Table 'test.t' doesn't exist in engine
      MariaDB [test]> show warnings;
      +-------+------+----------------------------------------+
      | Level | Code | Message                                |
      +-------+------+----------------------------------------+
      | Error | 1932 | Table 'test.t' doesn't exist in engine |
      +-------+------+----------------------------------------+
      1 row in set (0.000 sec)
      

      Consequently, the same non-informative diagnostics is produced by mysql_upgrade:

      Phase 6/7: Checking and upgrading tables
      Processing databases
      information_schema
      performance_schema
      sys
      sys.sys_config                                     OK
      test
      test.t
      Error    : Table 'test.t' doesn't exist in engine
      status   : Operation failed
      tmp
       
      Repairing tables
      test.t
      Error    : Table 'test.t' doesn't exist in engine
      status   : Operation failed
      Phase 7/7: Running 'FLUSH PRIVILEGES'
      OK
      

      It would be great if the missing algorithm was indicated in the error messages returned to clients.

        Attachments

          Issue Links

            Activity

              People

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

                Dates

                Created:
                Updated:

                  Git Integration