Indice bloccato da un altro processo

Questo articolo parla di un problema di indicizzazione comune in Adobe Commerce, in cui l’indice è bloccato da un altro processo e saltato.

Prodotti e versioni interessati

  • Adobe Commerce 2.X

Problema

Durante una reindicizzazione completa nell’interfaccia CLI, Adobe Commerce visualizza il messaggio di errore: 'L'indice è bloccato da un altro processo di reindicizzazione. Ignorato.' In altre parole, quando il processo o il tipo di indice è bloccato, non è possibile reindicizzare quel particolare tipo di indice bloccato. La reindicizzazione salta sempre quel tipo di indice.

Causa

Questo errore può verificarsi se l’indice precedente non è stato completato correttamente. Alcuni possibili motivi sono:

  • Il processo è stato interrotto da un altro processo o utente.
  • Limite di memoria.
  • Errore MySQL, ad esempio timeout.
  • Errore PHP irreversibile durante la reindicizzazione.

Passaggi da riprodurre

  1. Ad esempio, supponiamo che il bash cataloginventory_stock tipo di indice bloccato.
  2. Quando si tenta di reindicizzare tutti i dati eseguendo il comando CLI bash php bin/magento indexer:reindex , si otterrà il seguente risultato: bash customer_grid index has been rebuilt successfully in 00:00:09 catalog_category_product index has been rebuilt successfully in 00:00:07 catalog_product_category index has been rebuilt successfully in 00:00:00 catalogrule_rule index has been rebuilt successfully in 00:00:05 catalog_product_attribute index has been rebuilt successfully in 00:00:04 cataloginventory_stock index is locked by another reindex process. Skipping. catalog_product_price index has been rebuilt successfully in 00:00:01 catalogrule_product has been rebuilt successfully in 00:00:00 catalogsearch_fulltext index has been rebuilt successfully in 00:00:01
  3. Come si può vedere sopra, il bash cataloginventory_stock il processo di indicizzazione è stato ignorato.

Soluzione

È necessario reimpostare lo stato dell'indice, quindi provare a eseguire il nuovo processo di reindicizzazione. Per reimpostare lo stato dell’indice, è necessario eseguire il comando:

bin/magento indexer:reset <index identifier>

Se non sei sicuro di quali siano gli identificatori di indice (codice), puoi elencarli utilizzando il comando:

bin/magento indexer:info

Per completezza, ecco tutte le possibili combinazioni per gli indici nativi:

bin/magento indexer:reset design_config_grid;
bin/magento indexer:reset customer_grid;
bin/magento indexer:reset catalog_category_product;
bin/magento indexer:reset catalog_product_category;
bin/magento indexer:reset catalogrule_rule;
bin/magento indexer:reset catalog_product_attribute;
bin/magento indexer:reset cataloginventory_stock;
bin/magento indexer:reset catalog_product_price;
bin/magento indexer:reset catalogrule_product;
bin/magento indexer:reset catalogsearch_fulltext;

Lettura correlata

Nella nostra knowledge base di supporto:

Nella nostra guida utente:

Nella documentazione per gli sviluppatori:

recommendation-more-help
8bd06ef0-b3d5-4137-b74e-d7b00485808a