[Résolu] Container MySQL bloqué en erreur 1205

Bonjour

Etant en Nextcloud 34, je constate que le container docker MySQL fait tourner le processeur à 100%. Quand je tente de me connecter à Nexcloud, il se lance dans une mise à jour de nextcloud qui se termine en erreur 1205. Que ce soit via l’IHM web ou l’occ upgrade. J’ai mis le délai innodb dans la database à 300, cela ne change rien (c’est juste plus long avant de planter). Quand je lance le processlist, je n’ai que deux process en cours: le processlist que je viens de lancer, et celui-ci:

| 190 | nextcloud | IP_locale:34564 | nextcloud | Query | 27 | updating | UPDATE oc_jobs SET reserved_at = ‘1781209875’, last_checked = ‘1781209875’ WHERE (id = ‘55’) |

Quand je le tue, il revient sous un autre id.

Je ne vois pas comment d’une part calmer le processeur et d’autre part tuer le process en status updating qui y reste bloqué et m’empêche de dérouler un process de mise à jour.

Quelqu’un aurait-il une idée? La difficulté étant que la database est containerisée.

Je vous remercie

Je réponds à moi même. J’ai été très aidé par Gemini pro pour la résolution du problème.

J’ai d’abord éteint tous les serveurs:

sudo systemctl stop apache2
sudo systemctl stop cron
sudo systemctl stop php*-fpm
sudo killall -9 php

J’ai ensuite redémarré le container qui contenait la database mysql de nextcloud:

sudo docker restart mysql-nextcloud

J’ai purgé la table oc_jobs:

sudo docker exec -it mysql-nextcloud mysql -u root -p nextcloud -e "TRUNCATE TABLE oc_jobs;"

J’ai relancé la mise à jour de Nextcloud en mode verbose:

sudo -u www-data php /var/www/nextcloud/occ upgrade -v

Et là, plus d’erreur 1205

J’ai tout redémarré et retiré le mode maintenance de nextcloud

sudo systemctl start apache2
sudo systemctl start cron
sudo systemctl start php*-fpm
sudo -u www-data php /var/www/nextcloud/occ maintenance:mode --off

Et là c’est bon, tout refonctionne, le processus ne bouffe pas toute la ressource du processeur