[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-57477 : le traitement des règles de vente ralentit les performances des requêtes liées au panier

Le correctif ACSD-57477 corrige le problème en raison duquel le traitement des règles de vente ralentit les performances des requêtes liées au panier. Ce correctif est disponible lorsque la version 1.1.69 de Quality Patches Tool (QPT) est installée. L’ID du correctif est ACSD-57477. Notez que ce problème doit être résolu 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.6-p2

Compatible avec les versions d’Adobe Commerce :

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

Le traitement des règles de vente ralentit les performances des requêtes liées au panier si vous envoyez les paramètres sous forme de variables GraphQL.

Procédure à suivre :

  1. Ajoutez 1 000 attributs de produit.

  2. Créez un panier à l’aide de la requête GraphQL ci-dessous.

    code language-none
    mutation {createEmptyCart}{noformat}
    
  3. Ajoutez un produit au panier à l’aide de la requête GraphQL ci-dessous.

    code language-none
    mutation AddProductsToCart($cartId: String!, $products: [CartItemInput!]!) {
        addProductsToCart(cartId: $cartId, cartItems: $products) {
          cart {
            id
            __typename
          }
          __typename
        }
      }
    
  4. Définissez ces variables.

    code language-none
    {
      "cartId": "id_here",
      "products": [
        {
          "sku": "product_dynamic_1",
          "parent_sku": "product_dynamic_1",
          "quantity": 1
        }
      ]
    }
    
  5. Ce problème se produit uniquement lorsque vous envoyez les paramètres sous forme de variables GraphQL. Si vous incluez les paramètres dans la requête GraphQL elle-même, ce problème ne se produit pas.

  6. Envoyez la même requête Ajouter au panier après l’ajout de paramètres dans la requête GraphQL elle-même.

    code language-none
    mutation {
     addProductsToCart(
       cartId: "id_here"
       cartItems:  [
        {
          sku: "product_dynamic_1",
          parent_sku: "product_dynamic_1",
          quantity: 1
        }
      ]
     ) {
       cart {
            id
            __typename
          }
          __typename
     }
    }
    

Résultats attendus :

Les performances de l’opération GraphQL AddProductsToCart ne doivent pas être dégradées.

Résultats réels :

Les performances de l’opération GraphQL AddProductsToCart se dégradent, car elle charge tous les attributs de produit lorsque les paramètres sont envoyés en tant que variables.

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