ACSD-48448 : Race problème de condition lors des annulations de commande provoquant une entrée dupliquée dans la table inventory_reservation
Le correctif ACSD-48448 corrige le problème de condition Race survenant lors des annulations de commande, ce qui entraîne des entrées dupliquées dans la table inventory_reservation
. Ce correctif est disponible lorsque Quality Patches Tool (QPT) 1.1.34 est installé. L’ID de correctif est ACSD-48448. Veuillez noter que le problème doit ê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 Quality Patches Tool : recherchez des correctifs sur la page. Utilisez l’ID de correctif comme mot-clé de recherche pour localiser le correctif.Problème
Un problème de condition Race se produit lors des annulations de commande, ce qui entraîne la duplication des entrées dans la table inventory_reservation
.
Étapes à reproduire :
- passé une commande ;
- Vérifiez la table
inventory_reservation
pour vous assurer qu’il existe un enregistrement pour l’événementorder_placed
. - Exécutez le script joint pour annuler la commande en parallèle (pensez à modifier l’URL et l’ID de commande).
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
.
Appliquer le 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 sur site : Quality Patches Tool > Utilisation dans le guide Quality Patches Tool
- Adobe Commerce sur l’infrastructure cloud : mises à niveau et correctifs > Appliquer les correctifs dans le guide d’infrastructure Commerce on Cloud
Lecture connexe
- Quality Patches Tool publié : un nouvel outil pour les correctifs de qualité en libre-service dans la base de connaissances de support
- Vérifiez si un correctif est disponible pour votre problème Adobe Commerce à l’aide de Quality Patches Tool dans le guide Quality Patches Tool.
- Bonnes pratiques pour la modification des tables de base de données dans le manuel de mise en oeuvre de Commerce
Pour plus d'informations sur les autres correctifs disponibles dans QPT, reportez-vous à Quality Patches Tool : Recherche de correctifs dans le guide Quality Patches Tool.