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
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:
-
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 -
Esegui il comando seguente:
code language-bash bin/magento setup:performance:generate-fixtures var/performance-toolkit/profiles/ce/small.xml -
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'); -
Esegui una reindicizzazione completa.
-
Accedere al backend e aprire la pagina Categories.
-
Spostare Categoria 2 in Categoria 1 per aumentare la nidificazione della struttura.
-
Vai alla categoria più nidificata (ad esempio: Categoria 2.1.1).
-
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:
- Adobe Commerce o Magento Open Source on-premise: Quality Patches Tool > Utilizzo nella guida di Quality Patches Tool
- Adobe Commerce su infrastruttura cloud: Aggiornamenti e patch > Applica patch nella guida Commerce su infrastruttura cloud
Lettura correlata
Per ulteriori informazioni su Quality Patches Tool, vedere:
- Quality Patches Tool: strumento self-service per patch di qualità nella guida degli strumenti