インデックスは別のプロセスによってロックされています

この記事では、インデックスが別のプロセスによってロックされ、スキップされるAdobe Commerceの一般的なインデックス作成の問題について説明します。

影響を受ける製品とバージョン

  • Adobe Commerce 2.X

イシュー

CLIの完全なインデックス再作成中に、Adobe Commerceでエラーメッセージが表示されます。‘インデックスは別のインデックス再作成プロセスによってロックされています。 スキップしています。’ プロセスまたはインデックスタイプがロックされている場合、特定のロックされたインデックスタイプを再インデックス化することはできません。 インデックス再作成は、常にそのインデックスタイプをスキップします。

原因

このエラーは、前のインデックスが正常に完了しなかった場合に発生する可能性があります。 考えられる理由は次のとおりです。

  • プロセスが別のプロセスまたはユーザーによって中断されました。
  • メモリ制限。
  • タイムアウトなどのMySQL エラー。
  • 再インデックス中に致命的なPHP エラーが発生しました。

複製の手順

  1. 例えば、cataloginventory_stock インデックスタイプがロックされているとします。

  2. CLI コマンドを実行して、すべてのデータを再インデックス化しようとすると、次の操作が実行されます。

    code language-bash
    php bin/magento indexer:reindex
    

    次の出力結果が得られます。

    code language-none
    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. 上に示すように、cataloginventory_stock インデックスプロセスはスキップされています。

Solution

インデックスのステータスをリセットしてから、新しいインデックス再作成プロセスを実行する必要があります。 インデックスのステータスをリセットするには、次のコマンドを実行する必要があります。

bin/magento indexer:reset <index identifier>

インデックス識別子(コード)がわからない場合は、次のコマンドを使用してリスト化できます。

bin/magento indexer:info

完全性を確保するために、ネイティブインデックスの可能なすべての組み合わせを次に示します。

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;

関連トピックス

サポートナレッジベース:

アドビのユーザーガイドの内容:

アドビの開発者ドキュメントには、次のようなものがあります。

recommendation-more-help
commerce-knowledge-base-help