Starting db container through docker.io/wardenenv/mariadb:10.6 is failing with [ERROR] Unknown/unsupported storage engine: InnoDB
Elamurugan-Nallathambi opened this issue · 3 comments
Version of Warden
0.14.3
Operating System and Installation Method
Sonoma 14.5 / installed warden via brew
Image
docker.io/wardenenv/mariadb:10.6
Describe the Bug
DB container via mariadb 10.6 is not starting when I do warden env up
To Reproduce
I am having the same setup working ok from my one other machine and from this machine (Both are ARM processors) - I even uninstalled warden and installed again, upgraded Docker Desktop 4.32.0 and having this issue, did warden env pull, unable to prune as I am having a DB on this machine from previous 9maybe 3 months back - which then was working ok and all I did now is reset docker as it was not starting and upgraded warden then am seeing db container service not starting)
Expected Behavior
All containers including DB container running
Additional context
Here is what I see in the logs
2024-07-08 21:15:21 2024-07-09 01:15:21+00:00 [Note] [Entrypoint]: Entrypoint script for MariaDB Server 1:10.6.18+maria
ubu2004 started.ubu2004 started.
2024-07-08 21:15:21 2024-07-09 01:15:21+00:00 [Note] [Entrypoint]: Switching to dedicated user 'mysql'
2024-07-08 21:15:21 2024-07-09 01:15:21+00:00 [Note] [Entrypoint]: Entrypoint script for MariaDB Server 1:10.6.18+maria
2024-07-08 21:15:21 2024-07-09 01:15:21+00:00 [Note] [Entrypoint]: MariaDB upgrade (mariadb-upgrade or creating healthcheck users) required, but skipped due to $MARIADB_AUTO_UPGRADE setting
2024-07-08 21:15:21 2024-07-09 1:15:21 0 [Note] Starting MariaDB 10.6.18-MariaDB-ubu2004 source revision 887bb3f73555ff8a50138a580ca8308b9b5c069c as process 1
2024-07-08 21:15:21 2024-07-09 1:15:21 0 [Note] InnoDB: Compressed tables use zlib 1.2.11
2024-07-08 21:15:21 2024-07-09 1:15:21 0 [Note] InnoDB: Number of pools: 1
2024-07-08 21:15:21 2024-07-09 1:15:21 0 [Note] InnoDB: Using ARMv8 crc32 + pmull instructions
2024-07-08 21:15:21 2024-07-09 1:15:21 0 [Note] mysqld: O_TMPFILE is not supported on /tmp (disabling future attempts)
2024-07-08 21:15:21 2024-07-09 1:15:21 0 [Note] InnoDB: Using Linux native AIO
2024-07-08 21:15:21 2024-07-09 1:15:21 0 [Note] InnoDB: Initializing buffer pool, total size = 134217728, chunk size = 134217728
2024-07-08 21:15:21 2024-07-09 1:15:21 0 [Note] InnoDB: Completed initialization of buffer pool
2024-07-08 21:15:21 2024-07-09 1:15:21 0 [ERROR] InnoDB: Upgrade after a crash is not supported. The redo log was created with MariaDB 10.4.33. You must start up and shut down MariaDB 10.4 or earlier on the data directory.
2024-07-08 21:15:21 2024-07-09 1:15:21 0 [ERROR] InnoDB: Plugin initialization aborted with error Generic error
2024-07-08 21:15:21 2024-07-09 1:15:21 0 [Note] InnoDB: Starting shutdown...
2024-07-08 21:15:22 2024-07-09 1:15:22 0 [ERROR] Plugin 'InnoDB' registration as a STORAGE ENGINE failed.
2024-07-08 21:15:22 2024-07-09 1:15:22 0 [Note] Plugin 'FEEDBACK' is disabled.
2024-07-08 21:15:22 2024-07-09 1:15:22 0 [ERROR] Unknown/unsupported storage engine: InnoDB
2024-07-08 21:15:22 2024-07-09 1:15:22 0 [ERROR] Aborting
Here is the warden env config
name: commerce_b2b
services:
db:
command:
- mysqld
- --max_allowed_packet=1024M
- --explicit_defaults_for_timestamp=on
environment:
MYSQL_DATABASE: magento
MYSQL_HISTFILE: /sql_history/.sql_history
MYSQL_PASSWORD: magento
MYSQL_ROOT_PASSWORD: magento
MYSQL_USER: magento
hostname: commerce_b2b-mariadb
image: docker.io/wardenenv/mariadb:10.6
networks:
default: null
volumes:
- type: volume
source: dbdata
target: /var/lib/mysql
volume: {}
- type: volume
source: sqlhistory
target: /sql_history
volume: {}
nginx:
depends_on:
php-fpm:
condition: service_started
required: true
environment:
NGINX_PUBLIC: /pub
NGINX_TEMPLATE: magento2.conf
XDEBUG_CONNECT_BACK_HOST: host.docker.internal
hostname: commerce_b2b-nginx
image: docker.io/wardenenv/nginx:1.16
labels:
traefik.docker.network: commerce_b2b_default
traefik.enable: "false"
traefik.http.routers.commerce_b2b-nginx.priority: "2"
traefik.http.routers.commerce_b2b-nginx.rule: ' HostRegexp({subdomain:.+}.commerce_b2b.test
) || Host(commerce_b2b.test
)'
traefik.http.routers.commerce_b2b-nginx.tls: "true"
traefik.http.services.commerce_b2b-nginx.loadbalancer.server.port: "80"
networks:
default: null
volumes:
- type: volume
source: appdata
target: /var/www/html
volume: {}
- type: bind
source: /Users/t70161/projects/commerce_b2b/pub/media
target: /var/www/html/pub/media
bind:
create_host_path: true
opensearch:
environment:
DISABLE_SECURITY_PLUGIN: "true"
OPENSEARCH_JAVA_OPTS: -Xms64m -Xmx512m
discovery.type: single-node
hostname: commerce_b2b-opensearch
image: docker.io/wardenenv/opensearch:2.12
labels:
traefik.docker.network: commerce_b2b_default
traefik.enable: "true"
traefik.http.routers.commerce_b2b-opensearch.rule: Host(opensearch.commerce_b2b.test
)
traefik.http.routers.commerce_b2b-opensearch.tls: "true"
traefik.http.services.commerce_b2b-opensearch.loadbalancer.server.port: "9200"
networks:
default: null
volumes:
- type: volume
source: osdata
target: /usr/share/opensearch/data
volume: {}
php-debug:
depends_on:
php-fpm:
condition: service_started
required: true
environment:
CHOWN_DIR_LIST: 'pub/media /bash_history /home/www-data/.ssh '
COMPOSER_MEMORY_LIMIT: "-1"
COMPOSER_VERSION: "2"
HISTFILE: /bash_history/.bash_history
MAGE_DEBUG_SHOW_ARGS: "1"
NODE_VERSION: "22"
PHP_IDE_CONFIG: serverName=commerce_b2b-docker
SSH_AUTH_SOCK: /tmp/ssh-auth.sock
TRAEFIK_DOMAIN: commerce_b2b.test
TRAEFIK_SUBDOMAIN: app
extra_hosts:
- app.commerce_b2b.test=172.19.0.2
- commerce_b2b.test=172.19.0.2
hostname: commerce_b2b-php-debug
image: docker.io/wardenenv/php-fpm:8.2-magento2-xdebug3
networks:
default: null
volumes:
- type: bind
source: /Users/t70161/.warden/ssl/rootca/certs
target: /etc/ssl/warden-rootca-cert
read_only: true
bind:
create_host_path: true
- type: bind
source: /Users/t70161/.composer
target: /home/www-data/.composer
bind:
create_host_path: true
- type: volume
source: appdata
target: /var/www/html
volume: {}
- type: volume
source: bashhistory
target: /bash_history
volume: {}
- type: volume
source: sshdirectory
target: /home/www-data/.ssh
volume: {}
- type: bind
source: /run/host-services/ssh-auth.sock
target: /run/host-services/ssh-auth.sock
bind:
create_host_path: true
- type: bind
source: /Users/t70161/projects/commerce_b2b/pub/media
target: /var/www/html/pub/media
bind:
create_host_path: true
php-fpm:
depends_on:
db:
condition: service_started
required: true
environment:
CHOWN_DIR_LIST: 'pub/media /bash_history /home/www-data/.ssh '
COMPOSER_MEMORY_LIMIT: "-1"
COMPOSER_VERSION: "2"
HISTFILE: /bash_history/.bash_history
MAGE_DEBUG_SHOW_ARGS: "1"
NODE_VERSION: "22"
SSH_AUTH_SOCK: /tmp/ssh-auth.sock
TRAEFIK_DOMAIN: commerce_b2b.test
TRAEFIK_SUBDOMAIN: app
extra_hosts:
- app.commerce_b2b.test=172.19.0.2
- commerce_b2b.test=172.19.0.2
hostname: commerce_b2b-php-fpm
image: docker.io/wardenenv/php-fpm:8.2-magento2
labels:
traefik.docker.network: commerce_b2b_default
traefik.enable: "true"
traefik.http.routers.commerce_b2b-livereload.priority: "3"
traefik.http.routers.commerce_b2b-livereload.rule: ' (HostRegexp({subdomain:.+}.commerce_b2b.test
) || Host(commerce_b2b.test
)) && (Path(/livereload.js
) || Path(/livereload
))'
traefik.http.routers.commerce_b2b-livereload.service: commerce_b2b-livereload
traefik.http.routers.commerce_b2b-livereload.tls: "true"
traefik.http.services.commerce_b2b-livereload.loadbalancer.server.port: "35729"
networks:
default: null
volumes:
- type: bind
source: /Users/t70161/.warden/ssl/rootca/certs
target: /etc/ssl/warden-rootca-cert
read_only: true
bind:
create_host_path: true
- type: bind
source: /Users/t70161/.composer
target: /home/www-data/.composer
bind:
create_host_path: true
- type: volume
source: appdata
target: /var/www/html
volume: {}
- type: volume
source: bashhistory
target: /bash_history
volume: {}
- type: volume
source: sshdirectory
target: /home/www-data/.ssh
volume: {}
- type: bind
source: /run/host-services/ssh-auth.sock
target: /run/host-services/ssh-auth.sock
bind:
create_host_path: true
- type: bind
source: /Users/t70161/projects/commerce_b2b/pub/media
target: /var/www/html/pub/media
bind:
create_host_path: true
rabbitmq:
hostname: commerce_b2b-rabbitmq
image: docker.io/wardenenv/rabbitmq:3.11
labels:
traefik.docker.network: commerce_b2b_default
traefik.enable: "true"
traefik.http.routers.commerce_b2b-rabbitmq.rule: Host(rabbitmq.commerce_b2b.test
)
traefik.http.routers.commerce_b2b-rabbitmq.tls: "true"
traefik.http.services.commerce_b2b-rabbitmq.loadbalancer.server.port: "15672"
networks:
default: null
volumes:
- type: volume
source: rabbitmq
target: /var/lib/rabbitmq
volume: {}
redis:
hostname: commerce_b2b-redis
image: docker.io/wardenenv/redis:7.2
networks:
default: null
volumes:
- type: volume
source: redis
target: /data
volume: {}
varnish:
depends_on:
nginx:
condition: service_started
required: true
hostname: commerce_b2b-varnish
image: docker.io/wardenenv/varnish:7.1
labels:
traefik.docker.network: commerce_b2b_default
traefik.enable: "true"
traefik.http.routers.commerce_b2b-varnish.priority: "1"
traefik.http.routers.commerce_b2b-varnish.rule: ' HostRegexp({subdomain:.+}.commerce_b2b.test
) || Host(commerce_b2b.test
)'
traefik.http.routers.commerce_b2b-varnish.tls: "true"
traefik.http.services.commerce_b2b-varnish.loadbalancer.server.port: "80"
networks:
default: null
networks:
default:
name: commerce_b2b_default
labels:
dev.warden.environment.name: commerce_b2b
dev.warden.environment.type: magento2
volumes:
appdata:
name: commerce_b2b_appdata
bashhistory:
name: commerce_b2b_bashhistory
dbdata:
name: commerce_b2b_dbdata
osdata:
name: commerce_b2b_osdata
rabbitmq:
name: commerce_b2b_rabbitmq
redis:
name: commerce_b2b_redis
sqlhistory:
name: commerce_b2b_sqlhistory
sshdirectory:
name: commerce_b2b_sshdirectory
x-environment:
- 'CHOWN_DIR_LIST=pub/media /bash_history /home/www-data/.ssh '
x-extra_hosts:- commerce_b2b.test:172.19.0.2
- app.commerce_b2b.test:172.19.0.2
x-volumes:- .//pub/media:/var/www/html/pub/media:cached
- appdata:/var/www/html
@Elamurugan-Nallathambi Looking in the logs I see the following line:
[ERROR] InnoDB: Upgrade after a crash is not supported. The redo log was created with MariaDB 10.4.33. You must start up and shut down MariaDB 10.4 or earlier on the data directory.
Looks like your database crashed at some point, and you need to start the DB with a 10.4 image to recover, then cleanly shutdown, then you can start using a 10.6 image which should upgrade the database.
Alternatively you can run warden env down -v db
to kill the database and re-import it.