[MySQL] Error code : 40001 (1213). Deadlock found when trying to get lock

Bonjour

Je rencontre l’erreur suivante dans mes logs Http.error ( j’en mets qu’une)
qui sont assez fréquente car j’ai plus de 2Mo de log

[Sat Dec 14 10:01:39.736330 2024] [php7:error] [pid 2616816] [client 127.0.0.1:53154] PHP Fatal error:  Uncaught Exception: [MySQL] Error code : 40001 (1213). 
Deadlock found when trying to get lock; try restarting transaction  : REPLACE INTO history\n        SET cmd_id=:cmd_id,\n        `datetime`=:datetime,\n        
value=:value in /var/www/html/core/class/DB.class.php:120\nStack trace:\n#0 /var/www/html/core/class/history.class.php(1088): DB::Prepare()\n#1 /var/www/html/core/class/cmd.class.php(2454): 
history->save()\n#2 /var/www/html/core/class/cmd.class.php(1937): cmd->addHistoryValue()\n#3 /var/www/html/core/class/cmd.class.php(1917): cmd->event()\n#4 /var/www/html/core/class/cmd.class.php(1917): 
cmd->event()\n#5 /var/www/html/core/class/cmd.class.php(1917): cmd->event()\n#6 /var/www/html/core/class/eqLogic.class.php(687): cmd->event()\n#7 /var/www/html/plugins/mqtt2/core/class/mqtt2.class.php(748): 
eqLogic->checkAndUpdateCmd()\n#8 /var/www/html/plugins/mqtt2/core/class/mqtt2.class.php(686): mqtt2::handleMqttSubMessage()\n#9 /var/www/html/plugins/mqtt2/core/php/jeeMqtt2.php(32): 
mqtt2::handleMqttMessage()\n#10 {main}\n  t in /var/www/html/core/class/DB.class.php on line 120

D’âpres ce que j ai vu sur la communauté cela semble être corriger en 4.4
hors je suis en 4.4.19

J’ai vu également que cela pouvais se corriger en dupliquant l’équipement ou
supprimant son historique , mais je ne sais pas de quel équipement il s’agit

De plus les log Mqtt2d , m’indique une taille de plus de 2 Mo
mais lorsque je clique dessous les « Cercle de chargement » apparaissent (chargement long)
et ensuite les logs sont vide
image

Voici également la page santé si besoin

Je présume ( mais je me trompe peut être ) que cela doit être lie aux historiques des variables
que je récupére via Mqtt , mais je ne sais pas lesquelles surtout que mes log mqtt2d sont vide

Merci d’avance pour votre aide

Bonjour,

Avec une base de données aussi grosse (7.9 Go record battu) c’est normal d’avoir ce type de problème.
De plus ça engendre une charge cpu importante comme on peut le voir.

Il faut revoir tes historisations de données. De nombreux sujets récents indiquent comment faire.

1 « J'aime »

Bonjour
Merci pour ton retour

Cela est déjà fait , tous les historiques sont entre 6 mois et 2 ans max
et le lissage est bien activé ( moyen ou max)

Mon problème est récent, mais ma base a cette taille depuis un moment
et j’ai aussi les log mqtt2d qui ne s’affiche plus depuis peu

Bonjour,
Pouvez-vous SVP montrer la taille des tables de la bdd?
C’est sur la page accessible par Alt-Click sur le nom de votre Jeedom sous l’horloge.

image

1 « J'aime »

Bonjour

Voici

1 « J'aime »

3go pour teleinfo
5 pour history arch

Y a un souci sur tes historiques !!

Salut

Alors si je me trompe pas
Pour conso_Teleinfo , c’est le plugin suivis conso donc la je n’ai rien géré

pour historyArch , j’ai configuré tous mes historiques pour optimiser la purge
et le lissage, mais j’ai du monde avec beaucoup de mesure en MQTT pour la consommation

Donc je ne sais pas trop si c est normal ou pas