[PaaS uniquement]{class="badge informative" title="S’applique uniquement aux projets Adobe Commerce on Cloud (infrastructure PaaS gérée par Adobe) et aux projets On-premise."}

ACSD-64118 : les demandes d’enregistrement de produit simultanées pour un même produit entraînent une incohérence des données et des entrées en double

Le correctif ACSD-64118 corrige le problème lorsque des requêtes simultanées d’enregistrement et de mise à jour d’un même produit entraînent une incohérence des données ou des produits dupliqués. Ce correctif est disponible lorsque la version 1.1.65 de Quality Patches Tool (QPT) est installée. L’ID du correctif est ACSD-64118. Notez que ce problème doit être résolu dans Adobe Commerce 2.4.9.

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.5-p7

Compatible avec les versions d’Adobe Commerce :

  • Adobe Commerce (toutes les méthodes de déploiement) 2.4.4 - 2.4.6-p10
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

Les requêtes simultanées d’enregistrement et de mise à jour d’un même produit entraînent une incohérence des données ou la duplication de produits.

Procédure à suivre :

  1. Configurez le multiprocessus pour les consommateurs dans env.php :

    code language-none
    'multiple_processes' =>
        array (
            'async.operations.all' => 4,
        ),
    
  2. Ajoutez une boutique supplémentaire et une nouvelle boutique sur le site web principal.

  3. Envoyez une requête d’API en bloc au point d’entrée storeview par défaut /rest/default/async/bulk/V1/products avec la payload suivante pour créer un produit :

    code language-none
    [
      {
        "product": {
          "sku": "Test_Prod",
          "name": "Test Product",
          "attribute_set_id": 4
        }
      }
    ]
    
  4. Utilisez la même payload pour envoyer une requête d’API en bloc au nouveau point d’entrée Storereview /rest/store/async/bulk/V1/products de mettre à jour le produit.

  5. Videz le cache.

  6. Exécutez les traitements cron.

  7. Consultez le tableau catalog_product_entity pour connaître les entrées du produit des étapes précédentes.

Résultats attendus :

  • Une seule entrée pour le SKU du produit doit être présente dans le tableau catalog_product_entity.
  • La première requête d’API REST doit créer une entrée de base de données et toutes les requêtes suivantes doivent mettre à jour cette entrée de base de données.

Résultats réels :

Plusieurs entrées pour le même SKU sont présentes dans le tableau catalog_product_entity.

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
c2d96e17-5179-455c-ad3a-e1697bb4e8c3