Resolver erro de tabela customer_grid_flat ausente no Adobe Commerce

O erro de ausência da tabela customer_grid_flat no Adobe Commerce 2.4.5 ocorre ao sobrepor processos de reindexação, tanto para excluir quanto para recriar a tabela customer_grid simultaneamente, causando falhas de SQLSTATE[ 42S02]. Para resolver isso, verifique os logs de ação do administrador quanto a conflitos de processos, evite a reindexação manual durante a execução do cron, redefina o indexador usando bin/magento indexer:reset customer_grid e monitore as agendas de trabalho do cron para evitar sobreposições futuras.

Descrição description

Ambiente

  • Produto: Adobe Commerce, v2.4.5
  • Instância: Produção

Problema/Sintomas

  • A tabela customer_grid_flat está ausente do banco de dados.
  • Erros como SQLSTATE[ 42S02]: Tabela ou exibição base não encontrada: 1146 A tabela 'z3gmkbwmwrl4g.customer_grid_flat' não existe aparece.

Causa

O problema ocorre porque quando o indexador completo do customer_grid é executado, ele remove e recria a tabela customer_grid para ajustar as colunas e, em seguida, insere dados. Se uma reindexação manual e o trabalho do cron indexer_reindex_all_invalid forem executados ao mesmo tempo, um processo excluirá a tabela customer_grid, enquanto outro processo tentará inserir dados nela. Esta sobreposição leva a SQLSTATE[ 42S02] : Tabela ou exibição base não encontrada: 1146 A tabela 'z3gmkbwmwrl4g.customer_grid_flat' não existe erros.

Resolução resolution

Restaure a tabela executando uma reindexação completa. Para solucionar e evitar esse problema, siga estas etapas:

  1. Verifique se a operação de reindexação manual (bin/magento indexer:reindex customer_grid) se sobrepôs à execução do trabalho cron indexer_reindex_all_invalid, verificando os logs de ação do administrador.
  2. Não execute bin/magento indexer:reindex customer_grid enquanto o indexer_reindex_all_invalid cron estiver em execução. Se uma reindexação completa for necessária, use bin/magento indexer:reset customer_grid. O cron indexer_reindex_all_invalid lidará com a reindexação completa como um processo em segundo plano, recriando e preenchendo tabelas automaticamente sem conflitos.
  3. Use ferramentas de monitoramento para rastrear quando trabalhos críticos do cron como indexer_reindex_all_invalid estão em execução para evitar o agendamento de tarefas sobrepostas.
recommendation-more-help
3d58f420-19b5-47a0-a122-5c9dab55ec7f