Index wird durch einen anderen Prozess gesperrt

In diesem Artikel wird über ein häufiges Indizierungsproblem in Adobe Commerce gesprochen, bei dem der Index durch einen anderen Prozess gesperrt und übersprungen wird.

Betroffene Produkte und Versionen

  • Adobe Commerce 2.x

Problem

Während einer vollständigen Neuindizierung in Ihrer CLI erhalten Sie von Adobe Commerce die Fehlermeldung: 'index is locked by another reindex process. Wird übersprungen.“ heißt, wenn der Prozess oder der Indextyp gesperrt ist, können Sie diesen bestimmten gesperrten Indextyp nicht neu indizieren. Die Neuindizierung überspringt immer diesen Indextyp.

Ursache

Dieser Fehler kann auftreten, wenn der vorherige Index nicht erfolgreich abgeschlossen wurde. Einige mögliche Gründe sind:

  • Der Prozess wurde durch einen anderen Prozess oder Benutzer unterbrochen.
  • Speicherlimit.
  • MySQL-Fehler, wie eine Zeitüberschreitung.
  • Schwerwiegender PHP-Fehler während der Neuindizierung.

Schritte zur Reproduktion

  1. Beispiel: Die Variable bash cataloginventory_stock Indextyp ist gesperrt.
  2. Beim Versuch, alle Daten durch Ausführen des CLI-Befehls neu zu indizieren bash php bin/magento indexer:reindex erhalten Sie das folgende Ausgabeergebnis: 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. Wie Sie oben sehen können, ist die bash cataloginventory_stock Der Indexprozess wurde übersprungen.

Lösung

Sie müssen den Indexstatus zurücksetzen und dann versuchen, den neuen Neuindizierungsprozess auszuführen. Um den Indexstatus zurückzusetzen, müssen Sie den Befehl ausführen:

bin/magento indexer:reset <index identifier>

Wenn Sie sich nicht sicher sind, was die Indexkennungen (Code) sind, können Sie sie mit dem Befehl auflisten:

bin/magento indexer:info

Der Vollständigkeit halber finden Sie hier alle möglichen Kombinationen für native Indizes:

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;

Verwandtes Lesen

In unserer Support-Wissensdatenbank:

In unserem Benutzerhandbuch:

In unserer Entwicklerdokumentation:

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