[Somente PaaS]{class="badge informative" title="Aplica-se somente a projetos do Adobe Commerce na nuvem (infraestrutura do PaaS gerenciada pela Adobe) e a projetos locais."}

ACSD-67643: Entradas duplicadas criadas durante atualizações agendadas em ambientes de categoria altamente aninhados

O patch ACSD-67643 corrige o problema em que entradas duplicadas são criadas durante atualizações programadas em ambientes com um alto número de categorias aninhadas. Este patch está disponível quando o Quality Patches Tool (QPT) 1.1.71 está instalado. A ID do patch é ACSD-67643. Observe que esse problema está programado para ser corrigido no Adobe Commerce 2.4.9.

Produtos e versões afetados

O patch foi criado para a versão do Adobe Commerce:

  • Adobe Commerce (todos os métodos de implantação) 2.4.8-p1

Compatível com as versões do Adobe Commerce:

  • Adobe Commerce (todos os métodos de implantação) 2.4.8 - 2.4.8-p2
NOTE
O patch pode se tornar aplicável a outras versões com as novas versões do Quality Patches Tool. Para verificar se o patch é compatível com a sua versão do Adobe Commerce, atualize o pacote magento/quality-patches para a versão mais recente e verifique a compatibilidade na Quality Patches Tool: página Procurar patches. Use a ID do patch como palavra-chave de pesquisa para localizar o patch.

Problema

Entradas duplicadas ocorrem ao criar atualizações agendadas para ambientes que têm um grande número de categorias aninhadas.

Etapas a serem reproduzidas:

  1. Gerar dados de exemplo:
    Usar um arquivo de ajustes de desempenho (Por exemplo: small.xml) com modificações:
    Categories: 2.500
    Products: 250.000

  2. Execute o seguinte comando:

    code language-bash
    bin/magento setup:performance:generate-fixtures var/performance-toolkit/profiles/ce/small.xml
    
  3. Depois de criar produtos e categorias, verifique se todas as categorias são âncoras executando:

    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. Executar uma reindexação completa.

  5. Faça logon no back-end e abra a página Categories.

  6. Mover Categoria 2 para Categoria 1 para aumentar o aninhamento de árvore.

  7. Ir para a categoria mais aninhada (Por exemplo: Categoria 2.1.1).

  8. Crie uma Atualização agendada e salve a categoria.

Resultados esperados:

A categoria foi salva com sucesso.

Resultados reais:

Ocorre um Erro 500, e a seguinte mensagem é exibida nos logs:

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

Aplicar o patch

Para aplicar patches individuais, use os links a seguir, dependendo do método de implantação:

Leitura relacionada

Para saber mais sobre Quality Patches Tool, consulte:

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