[Solo PaaS]{class="badge informative" title="Applicabile solo ai progetti Adobe Commerce on Cloud (infrastruttura PaaS gestita da Adobe) e ai progetti on-premise."}

ACSD-67643: voci duplicate create durante gli aggiornamenti pianificati in ambienti di categorie nidificati

La patch ACSD-67643 risolve il problema relativo alla creazione di voci duplicate durante gli aggiornamenti pianificati in ambienti con un numero elevato di categorie nidificate. Questa patch è disponibile quando è installato Quality Patches Tool (QPT) 1.1.71. L’ID della patch è ACSD-67643. Questo problema è pianificato per la risoluzione in Adobe Commerce 2.4.9.

Prodotti e versioni interessati

La patch è stata creata per la versione di Adobe Commerce:

  • Adobe Commerce (tutti i metodi di implementazione) 2.4.8-p1

Compatibile con le versioni di Adobe Commerce:

  • Adobe Commerce (tutti i metodi di implementazione) 2.4.8 - 2.4.8-p2
NOTE
La patch potrebbe diventare applicabile ad altre versioni con le nuove versioni di Quality Patches Tool. Per verificare se la patch è compatibile con la versione di Adobe Commerce in uso, aggiornare il pacchetto magento/quality-patches alla versione più recente e verificare la compatibilità nella pagina Quality Patches Tool: Cerca patch. Utilizza l’ID patch come parola chiave di ricerca per individuare la patch.

Problema

Le voci duplicate si verificano durante la creazione di aggiornamenti pianificati per gli ambienti che hanno un numero elevato di categorie nidificate.

Passaggi da riprodurre:

  1. Genera dati di esempio:
    Utilizza un file di fissaggi delle prestazioni (ad esempio: small.xml) con le seguenti modifiche:
    Categories: 2.500
    Products: 250.000

  2. Esegui il comando seguente:

    code language-bash
    bin/magento setup:performance:generate-fixtures var/performance-toolkit/profiles/ce/small.xml
    
  3. Dopo aver creato prodotti e categorie, assicurati che tutte le categorie siano ancoraggi eseguendo:

    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. Esegui una reindicizzazione completa.

  5. Accedere al backend e aprire la pagina Categories.

  6. Spostare Categoria 2 in Categoria 1 per aumentare la nidificazione della struttura.

  7. Vai alla categoria più nidificata (ad esempio: Categoria 2.1.1).

  8. Crea un aggiornamento pianificato e salva la categoria.

Risultati previsti:

La categoria è stata salvata correttamente.

Risultati effettivi:

Si è verificato un errore 500 e nei registri viene visualizzato il seguente messaggio:

    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, '/%')

Applicare la patch

Per applicare singole patch, utilizzare i collegamenti seguenti, a seconda del metodo di distribuzione utilizzato:

Lettura correlata

Per ulteriori informazioni su Quality Patches Tool, vedere:

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