[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-68064: Entradas duplicadas criadas durante atualizações agendadas em ambientes com categorias profundamente aninhadas

O patch ACSD-68064 corrige o problema em que a criação de atualizações programadas em ambientes com um alto número de categorias aninhadas resulta em entradas duplicadas e impede o salvamento de categorias. Este patch está disponível quando o Quality Patches Tool (QPT) 1.1.72 está instalado. A ID do patch é ACSD-68064. 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.7-p6

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

  • Adobe Commerce (todos os métodos de implantação) 2.4.7 - 2.4.7-p7
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

A criação de atualizações agendadas em ambientes com um alto número de categorias aninhadas resulta em entradas duplicadas, resultando em erros e falha ao salvar a categoria.

Etapas a serem reproduzidas:

  1. Instale uma instância limpa.

  2. Modifique o arquivo de correções de desempenho (small.xml) para incluir:

    1. Categories: 2500
    2. Products: 250.000
  3. Gere os dados usando o comando:

    code language-none
    bin/magento setup:performance:generate-fixtures var/performance-toolkit/profiles/ce/small.xml
    
  4. Depois de criar produtos e categorias, verifique se todas as categorias estão definidas como âncoras executando a seguinte query:

    code language-none
    UPDATE catalog_category_entity_int set value = 1 where attribute_id = (select attribute_id from eav_attribute where attribute_code = 'is_anchor');
    
  5. Reindexe os dados.

  6. Faça logon no painel Admin e navegue até Catalog > Categories.

  7. Mova a Categoria 2 para a Categoria 1 para criar uma estrutura mais aninhada.

  8. Ir para uma categoria profundamente aninhada, por exemplo, Categoria 2.1.1.

  9. Criar um Scheduled Update.

  10. Clique em Save.

Resultados esperados:

A categoria foi salva com sucesso.

Resultados reais:

Ocorre um erro e a categoria não é salva. var/log/exception.log contém um erro semelhante a:

Exception #0 (Magento\Framework\DB\Adapter\DuplicateException): SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry '229-255' for key 'temp_category_descendants_619aaaaaaaaaa.PRIMARY', query was: INSERT INTO `temp_category_descendants_619aaaaaaaaaa` (`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, '/%') OR ce2.entity_id = ce.entity_id AND (ce2.created_in <= '1750287600' AND ce2.updated_in > '1750287600') WHERE ((ce.entity_id IN (4, 6, 7, 8, 10, 24, 25, 27, 30, 33, 34, 35, 36, 37, 40, 41, 42, 43, 44, 48, 51, 54, 56, 57, 59, 60, 63, 64, 65, 66, 67 .......

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