[PaaS のみ]{class="badge informative" title="Adobe Commerce on Cloud プロジェクト(Adobeが管理する PaaS インフラストラクチャ)およびオンプレミスプロジェクトにのみ適用されます。"}

ACP2E-4522:複数の買い物かごの結合または見積もり保存要求を同時に実行すると、quote_coupons テーブルで断続的に重複キーエラーが発生する

ACP2E-4522 パッチは、複数の買い物かごの結合または見積もりの保存リクエストが同時に実行されるときに、quote_coupons テーブルで断続的な重複キーエラーが発生する問題を修正します。 このパッチは、Quality Patches Tool (QPT) 1.1.78がインストールされている場合に利用できます。 パッチ IDはACP2E-4522です。 この問題は、Adobe Commerce 2.4.9で修正される予定です。

影響を受ける製品とバージョン

パッチはAdobe Commerceのバージョン​用に作成されました

  • Adobe Commerce(すべてのデプロイメント方法) 2.4.7-p7

Adobe Commerceのバージョンとの互換性:

  • Adobe Commerce(すべてのデプロイメント方法) 2.4.7 - 2.4.8-p4
NOTE
このパッチは、新しいQuality Patches Tool リリースを含む他のバージョンに適用される可能性があります。 パッチがAdobe Commerceのバージョンと互換性があるかどうかを確認するには、magento/quality-patches パッケージを最新バージョンに更新し、Quality Patches Tool:パッチの検索ページ ​で互換性を確認します。 パッチ IDを検索キーワードとして使用して、パッチを検索します。

イシュー

複数の買い物かごの結合要求または見積もり保存要求を同時に実行すると、断続的な重複キーエラーがquote_coupons テーブルで発生します。

複製する手順:

  1. 管理者サイドバーの​Stores > Settings > Configuration > Sales > Multicoupon Settings​で、注文あたりのクーポンの最大数= 10を有効にします。

  2. Marketing > Promotions > Cart Price Rules > ​ Add New Rule​の下にカート価格ルールを作成します。

    1. Rule Name: TESTCOUPON2026
    2. Active: YesWebsites: Main WebsiteCustomer Groups;該当するすべてのグループを選択します。
    3. Coupon: Specific Coupon; Coupon Code: TESTCOUPON2026。
    4. Uses per Customer:空白のままにします。
    5. Conditions:条件が追加されていません。
    6. Actions > Percent of product price discount; Discount Amount = 10.
  3. GraphQLを使用して、ゲストカートに少なくとも7の数量の商品を追加し、クーポンを適用します。

  4. GraphQL mergeCarts呼び出しを6回同時に実行します。

    code language-none
    mutation {
      mergeCarts(
        source_cart_id: "<GUEST_CART_ID>"
        destination_cart_id: "<DESTINATION_CART_ID>"
      ) {
        id
        items { id product { sku } }
        applied_coupons { code }
      }
    }
    

期待される結果:

GraphQLの結合でエラーは返されません。

実際の結果:

mergeCarts GraphQLのミューテーションはエラーを返します。
ログは、複数の結合または引用符の保存リクエストが同時に実行される場合、GraphQL エラーがquote_coupons テーブル (QUOTE_COUPONS_QUOTE_ID_COUPON_CODE)の重複キー制約の違反によって発生したことを示しています。

tail -n 200 var/log/exception.log var/log/debug.log | grep -E "Duplicate entry|QUOTE_COUPONS_QUOTE_ID_COUPON_CODE"

パッチを適用する

個別のパッチを適用するには、デプロイメント方法に応じて次のリンクを使用します。

関連トピックス

Quality Patches Toolについて詳しくは、次を参照してください。

recommendation-more-help
c2d96e17-5179-455c-ad3a-e1697bb4e8c3