Index wird durch einen anderen Prozess gesperrt
In diesem Artikel wird über ein gängiges 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: Der Index von wird durch einen anderen Neuindizierungsprozess gesperrt. Überspringen." Mit anderen Worten: Wenn der Prozess oder der Indextyp gesperrt ist, können Sie diesen bestimmten gesperrten Indextyp nicht neu indizieren. Die Neuindizierung überspringt diesen Indextyp immer.
Ursache
Dieser Fehler konnte 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.
- Speicherbegrenzung.
- MySQL-Fehler, wie eine Zeitüberschreitung.
- Schwerwiegender PHP-Fehler während der Neuindizierung.
Zu reproduzierende Schritte
- Nehmen Sie beispielsweise Folgendes an:
bash cataloginventory_stock
Der Indextyp ist gesperrt. - Wenn Sie versuchen, 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
- Wie Sie oben sehen können, wird 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. Für den Status des Reset-Index 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 mithilfe des Befehls auflisten:
bin/magento indexer:info
Für die Vollständigkeit sind hier alle möglichen Kombinationen für native Indizes aufgeführt:
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: