lando / pantheon

The Official Lando Pantheon plugin.
https://docs.lando.dev/pantheon
GNU General Public License v3.0
12 stars 18 forks source link

Error after upgrading mariadb to 10.6 #247

Closed sharique closed 5 months ago

sharique commented 6 months ago

We a site in pantheon running 10.4, we are in process of upgeading to 10.6.

To test the database upgrade with live db I performed following steps.

  1. Check our branch with 10.4.
  2. Pull the latest db and files from live env, verify site is working fine.
  3. Check branch with 10.6, rebuild the lando container to chagne db container to 10.6
  4. The database container failed to start with following error

database_1 | mariadb 14:36:00.89 INFO ==> Starting MariaDB setup database1 | mariadb 14:36:01.05 INFO ==> Validating settings in MYSQL/MARIADB_ env vars database_1 | mariadb 14:36:01.05 WARN ==> You set the environment variable ALLOW_EMPTY_PASSWORD=yes. For safety reasons, do not use this flag in a production environment. database_1 | mariadb 14:36:01.08 INFO ==> Initializing mariadb database database_1 | mariadb 14:36:01.10 DEBUG ==> Ensuring expected directories/files exist database_1 | mariadb 14:36:01.18 INFO ==> Updating 'my.cnf' with custom configuration database_1 | mariadb 14:36:01.19 DEBUG ==> Injecting custom configuration from my_custom.conf database_1 | mariadb 14:36:01.23 INFO ==> Setting user option database_1 | mariadb 14:36:01.24 DEBUG ==> Setting user to 'pantheon' in mariadb configuration file /opt/bitnami/mariadb/conf/my.cnf database_1 | mariadb 14:36:01.31 INFO ==> Injecting custom configuration 'my_custom.cnf' database_1 | mariadb 14:36:01.38 INFO ==> Using persisted data database_1 | mariadb 14:36:01.78 INFO ==> Running mysql_upgrade database_1 | mariadb 14:36:01.98 INFO ==> Starting mariadb in background database_1 | 2024-05-21 14:36:02 0 [Note] /opt/bitnami/mariadb/sbin/mysqld (server 10.6.5-MariaDB) starting as process 75 ... database_1 | 2024-05-21 14:36:02 0 [Note] InnoDB: Compressed tables use zlib 1.2.11 database_1 | 2024-05-21 14:36:02 0 [Note] InnoDB: Number of pools: 1 database_1 | 2024-05-21 14:36:02 0 [Note] InnoDB: Using crc32 + pclmulqdq instructions database_1 | 2024-05-21 14:36:02 0 [Note] mysqld: O_TMPFILE is not supported on /opt/bitnami/mariadb/tmp (disabling future attempts) database_1 | 2024-05-21 14:36:02 0 [Note] InnoDB: Using Linux native AIO database_1 | 2024-05-21 14:36:02 0 [Note] InnoDB: Initializing buffer pool, total size = 402653184, chunk size = 134217728 database_1 | 2024-05-21 14:36:02 0 [Note] InnoDB: Completed initialization of buffer pool database_1 | 2024-05-21 14:36:02 0 [ERROR] InnoDB: Upgrade after a crash is not supported. The redo log was created with MariaDB 10.4.17. database_1 | 2024-05-21 14:36:02 0 [ERROR] InnoDB: Plugin initialization aborted with error Generic error database_1 | 2024-05-21 14:36:02 0 [Note] InnoDB: Starting shutdown... database_1 | 2024-05-21 14:36:02 0 [ERROR] Plugin 'InnoDB' init function returned error. database_1 | 2024-05-21 14:36:02 0 [ERROR] Plugin 'InnoDB' registration as a STORAGE ENGINE failed. database_1 | 2024-05-21 14:36:02 0 [Note] Plugin 'FEEDBACK' is disabled. database_1 | 2024-05-21 14:36:02 0 [Warning] 'innodb-thread-concurrency' was removed. It does nothing now and exists only for compatibility with old my.cnf files. database_1 | 2024-05-21 14:36:02 0 [Warning] 'innodb-large-prefix' was removed. It does nothing now and exists only for compatibility with old my.cnf files. database_1 | 2024-05-21 14:36:02 0 [Warning] 'innodb-file-format' was removed. It does nothing now and exists only for compatibility with old my.cnf files. database_1 | 2024-05-21 14:36:02 0 [ERROR] Unknown/unsupported storage engine: innodb database_1 | 2024-05-21 14:36:02 0 [ERROR] Aborting

I run the lando rebuild -y couple of times but same error each time.

reynoldsalec commented 6 months ago

@sharique have you tried running a lando destroy -y, then lando start? Note this will destroy the persistent volume with your DB's data, so you'll have to re-import the site after you've started up.

I'm wondering if there's an issue with the upgrade pathway between 10.4 -> 10.6 that will be resolved without having data in the DB.

sharique commented 6 months ago

@reynoldsalec destroy and start works fine for me. No issue in that, but I've to pull data again from pantheon.

reynoldsalec commented 6 months ago

@sharique so did running lando destroy -y and starting again solve your issue @sharique?

sharique commented 6 months ago

yes, destroying lando destroy -y and starting again worked for me.

RichardDavies commented 5 months ago

I also had this exact same problem today upgrading a Pantheon site running MariaDB 10.4 to 10.6. Destroy also worked for me.

reynoldsalec commented 5 months ago

It sounds like this is an issue with MariaDB 10.4 that changed in 10.5; the log files were formerly split up, but now they are limited to 1. See https://bbs.archlinux.org/viewtopic.php?id=259364 if you want to perform an upgrade to Mariadb 10.6 and avoid this problem.

Going to close this out since I think it's largely a dependency issue beyond Lando's scope, but feel free to continue the convo here since it may help future visitors.

reynoldsalec commented 5 months ago

...note that I'm pursuing a way to upgrade Lando's MariaDB default version to 10.6 and might be addressing this there: https://github.com/lando/mariadb/issues/25