ACP2E-4913 : l’expédition de l’API REST et la création de factures ne sont pas retentées après un blocage de la base de données

Le correctif ACP2E-4913 corrige le problème en raison duquel la création d’une expédition ou d’une facture via l’API REST échoue de manière permanente lorsqu’un blocage de base de données se produit car l’opération n’est pas retentée. Ce correctif est disponible lorsque la version 1.1.84 de Quality Patches Tool (QPT) est installée. L’ID du correctif est ACP2E-4913. Notez que ce problème doit être résolu dans Adobe Commerce 2.4.10.

Produits et versions concernés

Le correctif est créé pour la version Adobe Commerce :

  • Adobe Commerce (toutes les méthodes de déploiement) 2.4.8-p3

Compatible avec les versions d’Adobe Commerce :

  • Adobe Commerce (toutes les méthodes de déploiement) 2.4.7 - 2.4.8-p5
NOTE
Le correctif peut s’appliquer à d’autres versions avec de nouvelles versions de Quality Patches Tool. Pour vérifier si le correctif est compatible avec votre version d’Adobe Commerce, mettez à jour le package magento/quality-patches vers la dernière version et vérifiez la compatibilité sur la page Quality Patches Tool : Rechercher des correctifs. Utilisez l’ID du correctif comme mot-clé de recherche pour localiser le correctif.

Problème

La création d’une expédition ou d’une facture via l’API REST échoue définitivement lorsqu’un blocage de base de données se produit car l’opération n’est pas retentée.

Procédure à suivre :

  1. Préparez plusieurs commandes pouvant être expédiées et plusieurs commandes pouvant être facturées.
  2. Envoyez plusieurs requêtes POST /rest/V1/order/<orderId>/ship en parallèle pour ces commandes, car une intégration peut être sous-chargée.
  3. Envoyez plusieurs requêtes POST /rest/V1/order/<orderId>/invoice en parallèle de la même manière.
  4. Vérifiez les réponses et les var/log/exception.log de l’API.

Résultats attendus :

Après un blocage, l’opération est retentée et l’expédition ou la facture est créée.

Résultats réels :

Certaines requêtes échouent avec l’erreur de blocage suivante. L’expédition ou la facture n’est pas créée et vous devez la créer manuellement :

SQLSTATE[40001]: Serialization failure: 1213 Deadlock found when trying to get lock; try restarting transaction

Application du correctif

Pour appliquer des correctifs individuels, utilisez les liens suivants en fonction de votre méthode de déploiement :

Lecture connexe

Pour en savoir plus sur Quality Patches Tool, consultez :

recommendation-more-help
commerce-operations-help-tools