ACP2E-4522: Intermittenta dubblettnyckelfel inträffar i tabellen quote_coupons när flera kundvagnssammanfognings- eller offertsparbegäranden körs samtidigt
Korrigeringen ACP2E-4522 åtgärdar ett problem där ett återkommande dubblettnyckelfel inträffar i tabellen quote_coupons när flera begäranden om att spara kundvagn eller offerter körs samtidigt. Den här korrigeringen är tillgänglig när Quality Patches Tool (QPT) 1.1.78 har installerats. Korrigerings-ID är ACP2E-4522. Observera att problemet är planerat att åtgärdas i Adobe Commerce 2.4.9.
Berörda produkter och versioner
Korrigeringen har skapats för Adobe Commerce-version:
- Adobe Commerce (alla distributionsmetoder) 2.4.7-p7
Kompatibel med Adobe Commerce-versioner:
- Adobe Commerce (alla distributionsmetoder) 2.4.7 - 2.4.8-p4
magento/quality-patches till den senaste versionen och kontrollerar kompatibiliteten för Quality Patches Tool: Sök efter sidan med korrigeringsfiler . Använd patch-ID:t som söknyckelord för att hitta patchen.Problem
Ett återkommande dubblettnyckelfel inträffar i tabellen quote_coupons när flera begäranden om att spara kundvagn eller offerter körs samtidigt.
Steg som ska återskapas:
-
Aktivera det maximala antalet kuponger per order = 10 under administratörssidofältet på Stores > Settings > Configuration > Sales > Multicoupon Settings.
-
Skapa en kundprisregel under Marketing > Promotions > Cart Price Rules > Add New Rule:
- Rule Name: TESTCOUPON2026
- Active: Yes; Websites: Main Website; Customer Groups; Välj alla tillämpliga grupper.
- Coupon: Specific Coupon; Coupon Code: TESTCOUPON2026.
- Uses per Customer: lämna tomt.
- Conditions: Inga villkor har lagts till.
- Actions > Percent of product price discount; Discount Amount = 10.
-
Lägg till en produkt med en kvantitet på minst 7 i en gästvagn med GraphQL och tillämpa sedan kupongen.
-
Kör sex parallella GraphQL mergeCarts-anrop:
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 } } }
Förväntade resultat:
GraphQL-sammanslagningen returnerar inget fel.
Faktiska resultat:
GraphQL-mutationen mergeCarts returnerar ett fel.
Loggar visar att GraphQL-felet orsakas av en dubblettnyckelvillkorsöverträdelse i tabellen quote_coupons (QUOTE_COUPONS_QUOTE_ID_COUPON_CODE) när flera sparade sammanfognings- eller offertbegäranden körs samtidigt.
tail -n 200 var/log/exception.log var/log/debug.log | grep -E "Duplicate entry|QUOTE_COUPONS_QUOTE_ID_COUPON_CODE"
Tillämpa korrigeringen
Använd följande länkar beroende på distributionsmetod för att tillämpa enskilda korrigeringsfiler:
- Adobe Commerce eller Magento Open Source lokalt: Quality Patches Tool > Användning i guiden Quality Patches Tool.
- Adobe Commerce om molninfrastruktur: Uppgraderingar och korrigeringar > Tillämpa korrigeringar i guiden för Commerce om molninfrastruktur.
Relaterad läsning
Mer information om Quality Patches Tool finns i:
- Quality Patches Tool: Ett självbetjäningsverktyg för korrigeringar av kvalitet i verktygshandboken.