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

Le correctif MDVA-32655 corrige l’état du message "en cours" incorrect sur le message "terminé" correct pour le consommateur quoteItemCleaner après la suppression de plusieurs produits. Ce correctif est disponible lorsque la variable Outil Correctifs de qualité (QPT) La version 1.0.18 est installée. 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 d’Adobe Commerce, mettez à jour la variable magento/quality-patches vers la dernière version et vérifiez la compatibilité sur la page Quality Patches Tool: recherchez la page des correctifs.. Utilisez l’ID de correctif comme mot-clé de recherche pour localiser le correctif.

Problème

La variable quoteItemCleaner consumer n'exécute qu'un seul message sur chaque exécution.

Étapes à reproduire:

  1. Vérifiez les queue_message_status de la base de données 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 le queue_message_status vous voyez qu’il y a trois nouveaux enregistrements pour le catalog_product_removed_queue rubrique avec ID d’état 2 (nouvel enregistrement).

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

    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 catalog_product_removed_queue les statuts des messages sont mis à jour pour se terminer (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 dans notre documentation destinée aux développeurs.

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