ACSD-48448 : problème de condition de Race lors des annulations de commande provoquant une entrée dupliquée dans inventory_reservation table
Le correctif ACSD-48448 corrige le problème où le problème de condition de Race se produit lors des annulations de commande, ce qui entraîne des entrées dupliquées dans la table inventory_reservation. Ce correctif est disponible lorsque la version 1.1.34 de Quality Patches Tool (QPT) est installée. L’ID du correctif est ACSD-48448. Notez que le problème est planifié pour être corrigé dans Adobe Commerce 2.4.7.
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.2-p2 et 2.4.6
Compatible avec les versions d’Adobe Commerce :
- Adobe Commerce (toutes les méthodes de déploiement) 2.4.2 - 2.4.6-p2
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
Race problème de condition se produit lors des annulations de commande, ce qui entraîne des entrées dupliquées dans la table inventory_reservation.
Procédure à suivre :
- Passer une commande.
- Vérifiez la table
inventory_reservationpour vous assurer qu’il existe un enregistrement pour l’événementorder_placed. - Exécutez le script ci-joint pour annuler la commande en parallèle (pensez à modifier l’URL et l’orderID).
bash cancel_order.sh
#!/bin/bash
baseUrl=" "
orderId=3
token=$(curl --location --request POST "${baseUrl}rest/V1/integration/admin/token" \
-H 'Content-Type: application/json' \
-d '{
"username": "admin",
"password": "password"
}')
echo ${token//\"/}
curl --location --request POST "${baseUrl}/rest/V1/orders/${orderId}/cancel" \
-H "Authorization:Bearer ${token//\"/}" \
-H 'Content-Type: application/json' \
&
sleep 0.1;
curl --location --request POST "${baseUrl}/rest/V1/orders/${orderId}/cancel" \
-H "Authorization:Bearer ${token//\"/}" \
-H 'Content-Type: application/json' \
wait
Résultats attendus :
Les enregistrements ne sont pas dupliqués.
Résultats réels :
Les enregistrements en double sont créés dans la table inventory_reservation pour order_canceled.
Application du correctif
Pour appliquer des correctifs individuels, utilisez les liens suivants en fonction de votre méthode de déploiement :
- Adobe Commerce ou Magento Open Source On-premise : Quality Patches Tool > Utilisation dans le guide de Quality Patches Tool
- Adobe Commerce sur les infrastructures cloud : Mises à niveau et correctifs > Appliquer des correctifs dans le guide Commerce sur les infrastructures cloud .
Lecture connexe
- Quality Patches Tool sortie : un nouvel outil permettant de mettre en libre-service des correctifs de qualité dans la base de connaissances du support
- Vérifiez si un correctif est disponible pour votre problème Adobe Commerce en utilisant Quality Patches Tool dans le guide de Quality Patches Tool
- Recommandations relatives à la modification des tables de base de données dans le manuel Commerce Implementation Playbook
Pour plus d’informations sur les autres correctifs disponibles dans QPT, reportez-vous à Quality Patches Tool : Rechercher des correctifs dans le guide de Quality Patches Tool.