[PaaS만]{class="badge informative" title="Adobe Commerce 온 클라우드 프로젝트(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: Yes; Websites: Main Website; Customer 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. 6개의 동시 병렬 GraphQL mergeCarts 호출 실행:

    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 돌연변이가 오류를 반환합니다.
로그에서는 여러 병합 또는 견적 저장 요청이 동시에 실행될 때 quote_coupons 테이블(QUOTE_COUPLES_QUOTE_ID_COUPON_CODE)의 중복 키 제약 조건 위반으로 인해 GraphQL 오류가 발생했음을 보여 줍니다.

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