Magento – What would cause Catalog Rewrites Indexer to need refreshed immediately after it completes

indexing

Immediately after reindexing the Catalog URL Rewrites, Magento says we need to reindex them again. I'm using the command line to run indexer.php as a background task:

nohup php indexer.php --reindex catalog_url > /home/ubuntu/rewrites_index_20130218 2> /home/ubuntu/rewrites_index_20130218.err < /dev/null &

The Index Management screen shows "Processing" on the relevant row while this runs, but reverts to "Reindex Required" once completed.

The output file rewrites_index_20130218 says that the reindex completed successfully. The rewrites_index_20130218.err is empty. The files system.log and exception.log in Magento's log folder are both clean.

On a previous attempt last night, the index failed due to too many MySQL locked tables. I increased the MySQL innodb_buffer_pool_size and restarted MySQL and we're not getting that issue now.

I have deliberately run the indexing when I know for certain that nobody from the team is working in the Magento admin area.

What would cause the rewrites table to need to be reindexed so often, or if that's not obvious, what steps could I take to identify the cause of the problem?

Best Answer

Its really simple. The indexing process did not remove the 'lock process' flag either in the Database or the actual lock file in /var/locks/

you can rm * in /var/locks or look at the indexing table in the database... so no it doesn't need to be indexed again, the lock just wasn't cleared during the process. Check your permissions on /var as well.