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

mariadb-upgrade-wizard failed for in-memory instance

Details

    • Bug
    • Status: Open (View Workflow)
    • Major
    • Resolution: Unresolved
    • 11.3.2
    • 11.4
    • Upgrades
    • None
    • Windows Server 2022

    Description

      Hello,

      I m trying to upgrade to 11.3.2 from 11.2.2
      I have 2 instances - a file and a memory one
      The file one was upgraded fine but the memory one keeps failing:
      ERROR 1932 (42S02) at line 491: Table 'mysql.innodb_index_stats' doesn't exist in engine
      FATAL ERROR: Upgrade failed

      I shall try to create a innodb_index_stats table but I guess this needs fixing anyway

      Momchil

      Attachments

        1. my.ini
          0.2 kB
        2. mysql_upgrade_service.MariaDB-Mem.log
          4 kB
        3. out.txt
          14 kB
        4. WIN-U0DA2L23F9H.err
          17 kB

        Activity

          what is "a memory" instance? How did you create it?

          wlad Vladislav Vaintroub added a comment - what is "a memory" instance? How did you create it?

          Apologies
          default-storage-engine=MEMORY

          bozhinov Момчил Божинов added a comment - Apologies default-storage-engine=MEMORY

          Upgrade works for me

          Below is the full cycle, from creating instance in 11.2 with default-storage-engine=MEMORY to upgrade it to 11.3

          How can I reproduce the scenario?

          PS E:\11.2\xxx> .\sql\Debug\mysql_install_db.exe -c E:\11.2\xxx\template.ini --datadir=E:\11_2_data --service MariaDB11_2
          Running bootstrap
          Registering service 'MariaDB11_2'
          Creating my.ini file
          Removing default user
          Creation of the database was successful
          PS E:\11.2\xxx> net start MariaDB11_2
          The MariaDB11_2 service is starting..
          The MariaDB11_2 service was started successfully.
           
          PS E:\11.2\xxx> type .\template.ini
          [mysqld]
          default-storage-engine=MEMORY
          PS E:\11.2\xxx> type E:\11_2_data\my.ini
          [mysqld]
          default-storage-engine=MEMORY
          datadir=E:/11_2_data
           
          PS E:\> cd .\11.3\xxx\inst\bin
          PS E:\11.3\xxx\inst\bin> .\mysql_upgrade_service.exe --service=MariaDB11_2
          Phase 1/10: Stopping service
          Phase 2/10: Start and stop server in the old version, to avoid crash recovery (skipped)
          Phase 3/10: Fixing server config file
          Phase 4/10: Starting mysqld for upgrade
          Phase 5/10: Waiting for startup to complete
          Phase 6/10: Running mysql_upgrade
          Phase 7/10: Changing service configuration
          Phase 8/10: Initiating server shutdown
          Phase 9/10: Waiting for shutdown to complete
          Phase 10/10: Starting service
          Service 'MariaDB11_2' successfully upgraded.
          Log file is written to C:\Users\wva72\AppData\Local\Temp\mysql_upgrade_service.MariaDB11_2.log
          

          wlad Vladislav Vaintroub added a comment - Upgrade works for me Below is the full cycle, from creating instance in 11.2 with default-storage-engine=MEMORY to upgrade it to 11.3 How can I reproduce the scenario? PS E:\11.2\xxx> .\sql\Debug\mysql_install_db.exe -c E:\11.2\xxx\template.ini --datadir=E:\11_2_data --service MariaDB11_2 Running bootstrap Registering service 'MariaDB11_2' Creating my.ini file Removing default user Creation of the database was successful PS E:\11.2\xxx> net start MariaDB11_2 The MariaDB11_2 service is starting.. The MariaDB11_2 service was started successfully.   PS E:\11.2\xxx> type .\template.ini [mysqld] default-storage-engine=MEMORY PS E:\11.2\xxx> type E:\11_2_data\my.ini [mysqld] default-storage-engine=MEMORY datadir=E:/11_2_data   PS E:\> cd .\11.3\xxx\inst\bin PS E:\11.3\xxx\inst\bin> .\mysql_upgrade_service.exe --service=MariaDB11_2 Phase 1/10: Stopping service Phase 2/10: Start and stop server in the old version, to avoid crash recovery (skipped) Phase 3/10: Fixing server config file Phase 4/10: Starting mysqld for upgrade Phase 5/10: Waiting for startup to complete Phase 6/10: Running mysql_upgrade Phase 7/10: Changing service configuration Phase 8/10: Initiating server shutdown Phase 9/10: Waiting for shutdown to complete Phase 10/10: Starting service Service 'MariaDB11_2' successfully upgraded. Log file is written to C:\Users\wva72\AppData\Local\Temp\mysql_upgrade_service.MariaDB11_2.log
          wlad Vladislav Vaintroub added a comment - - edited

          Needs "how to reproduce" scenario description, in full, from creation in 11.2 to failing upgrade.

          wlad Vladislav Vaintroub added a comment - - edited Needs "how to reproduce" scenario description, in full, from creation in 11.2 to failing upgrade.

          Installed the file instance first
          then the memory
          ran my tests
          2 months later tried to upgrade
          stopped both services and ran the install binary
          both instances failed the wizard upgrade
          started both of them (services are set to manual)
          the file instance succeeded
          the memory one kept failing

          bozhinov Момчил Божинов added a comment - Installed the file instance first then the memory ran my tests 2 months later tried to upgrade stopped both services and ran the install binary both instances failed the wizard upgrade started both of them (services are set to manual) the file instance succeeded the memory one kept failing

          bozhinov, thanks, but this would not count as "repro"
          Can you provide
          1) my.ini file of the service, in the data directory
          2) error log of the service, usually file with extension .err, in the data directory
          3) output of "dir" command on data directory, as well as its "mysql" subdirectory

          wlad Vladislav Vaintroub added a comment - bozhinov , thanks, but this would not count as "repro" Can you provide 1) my.ini file of the service, in the data directory 2) error log of the service, usually file with extension .err, in the data directory 3) output of "dir" command on data directory, as well as its "mysql" subdirectory

          marko, I do not know how to debug "table not found in engine" for Innodb. My suspicion are that there were manipulations with ibdata or something like that, maybe removing/recreating it it at some point, but I can't prove it.

          Can you help to understand the source of the messages?
          The .ibd and .frm seems to be there.

          wlad Vladislav Vaintroub added a comment - marko , I do not know how to debug "table not found in engine" for Innodb. My suspicion are that there were manipulations with ibdata or something like that, maybe removing/recreating it it at some point, but I can't prove it. Can you help to understand the source of the messages? The .ibd and .frm seems to be there.

          People

            marko Marko Mäkelä
            bozhinov Момчил Божинов
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated:

              Git Integration

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