O índice está bloqueado por outro processo

Este artigo fala sobre um problema comum de indexação no Adobe Commerce, em que o índice é bloqueado por outro processo e ignorado.

Produtos e versões afetados

  • Adobe Commerce 2.X

Problema

Durante uma reindexação completa na CLI, o Adobe Commerce fornece a mensagem de erro: o índice está bloqueado por outro processo de reindexação. Pulando.' Em outras palavras, quando o processo ou o tipo de índice estiver bloqueado, você não poderá reindexar esse tipo de índice bloqueado específico. O reindexação sempre ignorará esse tipo de índice.

Causa

Esse erro poderá ocorrer se o índice anterior não for concluído com êxito. Algumas razões possíveis são:

  • O processo foi interrompido por outro processo ou usuário.
  • Limite de memória.
  • Erro de MySQL, como tempo limite.
  • Erro fatal do PHP durante a reindexação.

Etapas a serem reproduzidas

  1. Por exemplo, digamos que a variável bash cataloginventory_stock o tipo de índice está bloqueado.
  2. Quando você tenta reindexar todos os dados executando o comando da CLI bash php bin/magento indexer:reindex , você obterá o seguinte resultado de saída: 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. Como você pode ver acima, a variável bash cataloginventory_stock o processo de indexação foi ignorado.

Solução

Você precisa redefinir o status do índice e tentar executar o novo processo de reindexação. Para redefinir o status do índice, é necessário executar o comando:

bin/magento indexer:reset <index identifier>

Se não tiver certeza sobre quais são os identificadores de índice (código), é possível listá-los usando o comando:

bin/magento indexer:info

Para fins de integridade, estas são todas as combinações possíveis para índices nativos:

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;

Leitura relacionada

Em nossa base de conhecimento de suporte:

Em nosso guia do usuário:

Em nossa documentação do desenvolvedor:

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