Index is vergrendeld door een ander proces
In dit artikel wordt gesproken over een algemeen indexeringsprobleem in Adobe Commerce waarbij de index is vergrendeld door een ander proces en wordt overgeslagen.
Betrokken producten en versies
- Adobe Commerce 2.X
Probleem
Tijdens een volledige herindex in uw CLI geeft Adobe Commerce u het foutbericht: 'Index is vergrendeld door een ander herindexeringsproces. Overslaan.' Met andere woorden, wanneer het proces- of indextype vergrendeld is, kunt u dat bepaalde vergrendelde indextype niet opnieuw indexeren. De redex slaat altijd dat indextype over.
Oorzaak
Deze fout kan optreden als de vorige index niet is voltooid. Enkele mogelijke redenen zijn:
- Het proces is onderbroken door een ander proces of een andere gebruiker.
- Geheugenlimiet.
- MySQL-fout, zoals een time-out.
- Fatale PHP fout tijdens de redex.
Stappen om te reproduceren
- Stel bijvoorbeeld dat de
bash cataloginventory_stock
indextype is vergrendeld. - Wanneer u probeert alle gegevens opnieuw te indexeren door het CLI bevel in werking te stellen
bash php bin/magento indexer:reindex
krijgt u het volgende uitvoerresultaat: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
- Zoals u hierboven kunt zien,
bash cataloginventory_stock
indexproces is overgeslagen.
Oplossing
U moet de indexstatus opnieuw instellen en vervolgens het nieuwe herindexproces uitvoeren. Voor de status van de reset-index moet u de opdracht uitvoeren:
bin/magento indexer:reset <index identifier>
Als u niet zeker weet wat de index-id's (code) zijn, kunt u deze weergeven met de opdracht:
bin/magento indexer:info
Voor de volledigheid zijn er alle mogelijke combinaties voor native indexen:
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;
Gerelateerde lezing
In onze kennisbasis voor ondersteuning:
In onze gebruikershandleiding:
In onze documentatie voor ontwikkelaars:
- Indexerend Overzicht
- 🔗 de Beste praktijken van 0} Indexers
- vorm en looppas uitsnede
- beheer de indexen
- Optimalisering van de Indexer