[Nur PaaS]{class="badge informative" title="Gilt nur für Adobe Commerce in Cloud-Projekten (von Adobe verwaltete PaaS-Infrastruktur) und lokale Projekte."}

ACP2E-4522: Zeitweise treten doppelte Schlüsselfehler in der Tabelle quote_coupons auf, wenn mehrere Anfragen zum Zusammenführen des Warenkorbs oder zum Speichern von Angeboten gleichzeitig ausgeführt werden

Mit dem Patch ACP2E-4522 wird das Problem behoben, dass ein zeitweiliger Fehler mit doppelten Schlüsseln in der Tabelle quote_coupons auftritt, wenn mehrere Anfragen zum Zusammenführen des Warenkorbs oder zum Speichern von Angeboten gleichzeitig ausgeführt werden. Dieser Patch ist verfügbar, wenn Quality Patches Tool (QPT) 1.1.78 installiert ist. Die Patch-ID lautet ACP2E-4522. Dieses Problem wird voraussichtlich in Adobe Commerce 2.4.9 behoben.

Betroffene Produkte und Versionen

Der Patch wird für die Adobe Commerce-Version erstellt:

  • Adobe Commerce (alle Bereitstellungsmethoden) 2.4.7-p7

Kompatibel mit Adobe Commerce-Versionen:

  • Adobe Commerce (alle Bereitstellungsmethoden) 2.4.7 - 2.4.8-p4
NOTE
Der Patch könnte mit neuen Quality Patches Tool-Versionen auch für andere Versionen gelten. Um zu überprüfen, ob der Patch mit Ihrer Adobe Commerce-Version kompatibel ist, aktualisieren Sie das magento/quality-patches auf die neueste Version und überprüfen Sie die Kompatibilität auf der Seite Quality Patches Tool: Nach Patches suchen. Verwenden Sie die Patch-ID als Suchbegriff, um den Patch zu finden.

Problem

Ein zeitweiliger Fehler mit doppelten Schlüsseln tritt in der quote_coupons auf, wenn mehrere Anfragen zum Zusammenführen des Warenkorbs oder zum Speichern von Angeboten gleichzeitig ausgeführt werden.

Schritte zur Reproduktion:

  1. Aktivieren Sie die maximale Anzahl von Coupons pro Bestellung = 10 in der Admin-Seitenleiste unter Stores > Settings > Configuration > Sales > Multicoupon Settings.

  2. Erstellen Sie eine Warenkorb-Preisregel unter Marketing > Promotions > Cart Price Rules > ​ Add New Rule:

    1. Rule Name: TESTCOUPON2026
    2. Active: Yes; Websites: Main Website; Customer Groups; Alle anwendbaren Gruppen auswählen.
    3. Coupon: Specific Coupon; Coupon Code: TESTCOUPON2026.
    4. Uses per Customer: Leer lassen.
    5. Conditions: Keine Bedingungen hinzugefügt.
    6. Actions > Percent of product price discount; Discount Amount = 10.
  3. Fügen Sie mit GraphQL ein Produkt mit einer Mindestmenge von 7 in einen Gastwarenkorb hinzu und verwenden Sie dann den Coupon.

  4. Führen Sie sechs gleichzeitige GraphQL-MergeCarts-Aufrufe aus:

    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 }
      }
    }
    

Erwartete Ergebnisse:

Bei der GraphQL-Zusammenführung wird kein Fehler zurückgegeben.

Tatsächliche Ergebnisse:

Die GraphQL-Mutation „mergeCarts“ gibt einen Fehler zurück.
Protokolle zeigen, dass der GraphQL-Fehler durch eine Verletzung der Schlüsseleinschränkung in der quote_coupons-Tabelle (QUOTE_COUPONS_QUOTE_ID_COUPON_CODE) verursacht wird, wenn mehrere Zusammenführungs- oder Zitatspeicheranfragen gleichzeitig ausgeführt werden.

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

Patch anwenden

Verwenden Sie je nach Bereitstellungsmethode die folgenden Links, um einzelne Patches anzuwenden:

Verwandtes Lesen

Weitere Informationen zu Quality Patches Tool finden Sie unter:

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