Résoudre l’erreur de table customer_grid_flat manquante dans Adobe Commerce

L’erreur de table customer_grid_flat manquante dans Adobe Commerce 2.4.5 se produit lors du chevauchement des processus de réindexation qui suppriment et recréent la table customer_grid simultanément, ce qui entraîne des échecs de SQLSTATE[ 42S02]. Pour résoudre ce problème, vérifiez les journaux d’actions d’administration pour les conflits de processus, évitez la réindexation manuelle pendant l’exécution de cron, réinitialisez l’indexeur à l’aide de bin/magento indexer:reset customer_grid et surveillez les planifications de tâches cron pour éviter les chevauchements futurs.

Description description

Environnement

  • Produit : Adobe Commerce, v2.4.5
  • Instance : Production

Problème/Symptômes

  • La table customer_grid_flat est absente de la base de données.
  • Des erreurs telles que SQLSTATE[ 42S02] : table ou vue de base introuvable : 1146 La table 'z3gmkbwmwerl4g.customer_grid_flat' n'existe pas s'affichent.

Cause

Le problème est dû au fait que, lorsque l’indexeur complet customer_grid s’exécute, il abandonne et recrée la table customer_grid pour ajuster les colonnes, puis insère des données. Si une réindexation manuelle et la tâche indexer_reindex_all_invalid cron s’exécutent simultanément, un processus supprime la table customer_grid tandis qu’un autre tente d’y insérer des données. Ce chevauchement entraîne l’apparition d’erreurs SQLSTATE[ 42S02] : table ou vue de base introuvable : 1146 La table 'z3gmkbwmwerl4g.customer_grid_flat' n’existe pas.

Résolution resolution

Restaurez le tableau en effectuant une réindexation complète. Pour résoudre et prévenir ce problème, procédez comme suit :

  1. Vérifiez si l’opération de réindexation manuelle (bin/magento indexer:reindex customer_grid) a fait double emploi avec l’exécution de la tâche cron indexer_reindex_all_invalid en vérifiant les journaux d’actions d’administration.
  2. N’exécutez pas bin/magento indexer:reindex customer_grid pendant l’exécution du indexer_reindex_all_invalid cron. Si une réindexation complète est requise, utilisez bin/magento indexer:reset customer_grid. Le cron indexer_reindex_all_invalid gère la réindexation complète en tant que processus en arrière-plan, en recréant et en renseignant automatiquement les tables sans conflit.
  3. Utilisez les outils de surveillance pour suivre le moment où les tâches cron critiques telles que indexer_reindex_all_invalid sont exécutées afin d’éviter le chevauchement des tâches.
recommendation-more-help
3d58f420-19b5-47a0-a122-5c9dab55ec7f