MDVA-32655 : le consommateur "quoteItemCleaner" exécute un message par exécution

Le correctif MDVA-32655 corrige l’état incorrect du message "en cours" sur le message "terminé" correct pour le consommateur quoteItemCleaner après la suppression de plusieurs produits. Ce correctif est disponible lorsque l’ outil de correctifs de qualité (QPT) 1.0.18 est installé. L’ID de correctif est 32655. Veuillez noter que le problème doit être corrigé dans Adobe Commerce 2.4.3.

Produits et versions concernés

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

Adobe Commerce sur l’infrastructure cloud 2.3.3

Compatible avec les versions d’Adobe Commerce :

Adobe Commerce sur l’infrastructure cloud et Adobe Commerce sur site 2.3.0 - 2.4.2

NOTE
Le correctif peut devenir applicable à d’autres versions avec les nouvelles versions de l’outil de correctifs de qualité. Pour vérifier si le correctif est compatible avec votre version Adobe Commerce, mettez à jour le package 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

Le consommateur quoteItemCleaner n'exécute qu'un seul message pour chaque exécution.

Étapes à reproduire :

  1. Vérifiez la table de base de données queue_message_status et assurez-vous que tous les messages de file d’attente existants sont à l’état "Terminé" (ID d’état 4).

  2. Arrêtez l’exécution automatique cron Adobe Commerce.

  3. Créez deux ou trois produits simples.

  4. Supprimez en masse ces trois produits simples.

  5. Dans la table queue_message_status, vous voyez qu’il existe trois nouveaux enregistrements pour la rubrique catalog_product_removed_queue avec l’ID d’état 2 (nouvel enregistrement).

  6. Exécutez la commande suivante pour traiter ces messages catalog_product_removed_queue en attente :

    code language-bash
    bin/magento queue:consumers:start quoteItemCleaner --single-thread --max-messages=100
    

Résultats attendus :

select * from queue_message_status s join queue q on s.queue_id = q.id where q.name = "catalog_product_removed_queue";

Tous les statuts des messages catalog_product_removed_queue sont mis à jour pour être terminés (ID=4).

Résultats réels :

Un seul enregistrement sur trois est mis à jour vers l’état "Terminé" (ID = 4). L’état des deux autres messages est ID d’état = 3 (en cours). Un journal des logs est généré avec les messages de file d’attente non traités.

Appliquer le 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 l’outil Correctifs de qualité, consultez :

Pour plus d’informations sur les autres correctifs disponibles dans QPT, reportez-vous à la section Correctifs disponibles dans QPT de notre documentation destinée aux développeurs.

recommendation-more-help
8bd06ef0-b3d5-4137-b74e-d7b00485808a