What To Do If Magento's Indexing Process Gets Stuck?

·

·

There are many posts on the Internet where people are wondering why their Magento indexing process got stuck. The answer is quite simple. Magento encountered a fatal PHP error in the process of indexing. Unfortunately, there is no error handling there so user usually ends up with the Magento screen saying that one of the indexing items is still processing. This will not change even if the page is reloaded. This happens because once Magento starts indexing, each item in the ‹Index Management› screen gets the ’status› field of correlative entire of ‹index_process› database table set to ‹working›. If an error occurs during the indexing process script halts and status remains as ‹working›. As a result the ‹processing› image is freezing on the ‹Index Management› page. Of course there’s no way to make sure that the indexing process is still not running but checking your server’s processes list.

The only intelligent way I know to solve this issue is to find out what’s causing this error and fix it. You can do it by running indexing from your shell and checking the output. Here is the command:

php shell/indexer.php reindexall

If you don’t have SSH access you can also try locating this error from your server’s error logs.

If you just want to remove the ‹processing› image you can run the following MySQL query:

UPDATE `index_process` SET `status` = ‹pending› WHERE `status` = ‹working›

However this will not solve the problem, but only hide the output.