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

ACSD-67643: Doppelte Einträge, die bei geplanten Aktualisierungen in hochverschachtelten Kategorieumgebungen erstellt werden

Mit dem Patch ACSD-67643 wird das Problem behoben, dass doppelte Einträge bei geplanten Aktualisierungen in Umgebungen mit einer hohen Anzahl verschachtelter Kategorien erstellt werden. Dieser Patch ist verfügbar, wenn Quality Patches Tool (QPT) 1.1.71 installiert ist. Die Patch-ID ist ACSD-67643. 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.8-p1

Kompatibel mit Adobe Commerce-Versionen:

  • Adobe Commerce (alle Bereitstellungsmethoden) 2.4.8 - 2.4.8-p2
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

Beim Erstellen geplanter Aktualisierungen für Umgebungen mit einer großen Anzahl verschachtelter Kategorien treten doppelte Einträge auf.

Schritte zur Reproduktion:

  1. Beispieldaten generieren:
    Verwenden Sie eine Datei mit Leistungsbefestigungen (z. B.: small.xml) mit Änderungen:
    Categories: 2.500
    Products: .000

  2. Führen Sie den folgenden Befehl aus:

    code language-bash
    bin/magento setup:performance:generate-fixtures var/performance-toolkit/profiles/ce/small.xml
    
  3. Nachdem Sie Produkte und Kategorien erstellt haben, stellen Sie sicher, dass alle Kategorien durch Ausführen von verankert sind:

    code language-sql
    UPDATE catalog_category_entity_int SET value = 1 WHERE attribute_id = (SELECT attribute_id FROM eav_attribute WHERE attribute_code = 'is_anchor');
    
  4. Führen Sie eine vollständige Neuindizierung aus.

  5. Melden Sie sich beim Backend an und öffnen Sie die Categories.

  6. Verschieben Sie Kategorie 2 nach Kategorie 1, um die Baumverschachtelung zu erhöhen.

  7. Wechseln Sie zur am häufigsten verschachtelten Kategorie (z. B (Kategorie 2.1.1).

  8. Erstellen Sie Geplantes Update und speichern Sie die Kategorie.

Erwartete Ergebnisse:

Die Kategorie wurde gespeichert.

Tatsächliche Ergebnisse:

Eine Fehler 500 tritt auf und die folgende Meldung wird in den Protokollen angezeigt:

    Magento\Framework\DB\Adapter\DuplicateException:
    SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry '6-165' for key 'PRIMARY',
    query was: INSERT INTO `temp_category_descendants_68a35aea273fc` (`category_id`, `descendant_id`)
    SELECT `ce`.`entity_id` AS `category_id`, `ce2`.`entity_id` AS `descendant_id`
    FROM `catalog_category_entity` AS `ce`
    INNER JOIN `catalog_category_entity` AS `ce2` ON ce2.path LIKE CONCAT(ce.path, '/%')

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