Redis unserialize error setupdeploy

Dans Adobe Commerce, l’exécution de la commande setup:static-content:deploy déclenche une erreur Redis unserialize lorsque des processus parallèles interfèrent avec la connexion Redis lors du déploiement de contenu statique. Ce problème interrompt le déploiement et renvoie les erreurs de connexion unserialize et Redis. Pour résoudre ce problème, exécutez le déploiement de contenu statique en mode thread unique pour éviter les conflits d’accès Redis parallèles.

Description description

Versions affectées

  • Adobe Commerce On-premise : 2.1.2 et versions ultérieures
  • Adobe Commerce sur les infrastructures cloud 2.1.2 et versions ultérieures
  • Redis, toute version

Problème/Symptômes

L’exécution de la commande setup:static-content:deploy entraîne l’erreur Redis :

)
[ 2017-06-02 19:57:59]  Command:php ./bin/magento setup:static-content:deploy --jobs=3  en_US

[ Exception]

Notice: unserialize(): Error at offset 0 of 1 bytes in /app/<domain>/vendor/magento/module-config/App/Config/Type/System.php
on line 214

.....

[ CredisException]
read error on connection

[ RedisException]
read error on connection

.....

[ Exception]

Notice: unserialize(): Error at offset 0 of 1 bytes in /app/<domain>/vendor/magento/module-config/App/Config/Type/System.php
on line 214

.....

[ RuntimeException]
Command php ./bin/magento setup:static-content:deploy --jobs=3  en_US  returned code 3

Cause

Le problème est dû à des processus d’interférence parallèles sur la connexion Redis.

Ici, un processus en App/Config/Type/System.php attendait une réponse pour les system_cache_exists qui était effectuée par un autre processus. Voir l'explication détaillée dans le billet de Jason Woods.

Résolution resolution

Désactivez le parallélisme et exécutez setup:static-content:deploy en mode thread unique en définissant la variable d’environnement suivante :

STATIC_CONTENT_THREADS=1

Vous pouvez également exécuter la commande setup:static-content:deploy suivie de l'argument -j 1 (ou --jobs=1).

Remarque : en mode thread unique, le processus de déploiement de contenu statique peut prendre quatre fois plus de temps.

Lecture connexe

Dans notre documentation destinée aux développeurs :

recommendation-more-help
3d58f420-19b5-47a0-a122-5c9dab55ec7f