Risolvere l’errore di tabella customer_grid_flat mancante in Adobe Commerce
L'errore di tabella mancante customer_grid_flat in Adobe Commerce 2.4.5 si verifica quando i processi di reindicizzazione sovrapposti eliminano e ricreano la tabella customer_gridcontemporaneamente, causando errori SQLSTATE[ 42S02]. Per risolvere questo problema, verificare i registri delle azioni di amministrazione per individuare eventuali conflitti di processo, evitare la reindicizzazione manuale durante l'esecuzione del cron, reimpostare l'indicizzatore utilizzando bin/magento indexer:reset customer_grid e monitorare le pianificazioni dei processi cron per evitare sovrapposizioni future.
Descrizione description
Ambiente
- Prodotto: Adobe Commerce, v2.4.5
- Istanza: Produzione
Problema/Sintomi
- Tabella
customer_grid_flatmancante nel database. - Errori come SQLSTATE
[42S02]: tabella o vista di base non trovata. La tabella 1146 'z3gmkbwmwrl4g.customer_grid_flat' non esiste verrà visualizzata.
Causa
Il problema si verifica perché quando l'indicizzatore completo customer_grid viene eseguito, elimina e ricrea la tabella customer_grid per regolare le colonne, quindi inserisce i dati. Se la reindicizzazione manuale e il processo cron indexer_reindex_all_invalid vengono eseguiti contemporaneamente, un processo elimina la tabella customer_grid mentre un altro tenta di inserirvi i dati. Questa sovrapposizione porta a SQLSTATE[ 42S02] : tabella o vista di base non trovata: la tabella 1146 'z3gmkbwmwrl4g.customer_grid_flat' non esiste errori.
Risoluzione resolution
Ripristinare la tabella eseguendo una reindicizzazione completa. Per risolvere e prevenire questo problema, eseguire la procedura seguente:
- Verificare se l'operazione di reindicizzazione manuale (
bin/magento indexer:reindex customer_grid) si sovrappone all'esecuzione del processo cronindexer_reindex_all_invalidcontrollando i log delle azioni di amministrazione. - Non eseguire
bin/magento indexer:reindex customer_gridmentreindexer_reindex_all_invalid cronè in esecuzione. Se è richiesta una reindicizzazione completa, utilizzarebin/magento indexer:reset customer_grid. Il cronindexer_reindex_all_invalidgestirà la reindicizzazione completa come processo in background, ricreando e popolando automaticamente le tabelle senza conflitti. - Utilizzare gli strumenti di monitoraggio per tenere traccia dei processi cron critici, come
indexer_reindex_all_invalid, in esecuzione per evitare la pianificazione di attività sovrapposte.