Question

I ran many time reindex process and system always returning the status "required index". I truncate the table without success.

Was it helpful?

Solution 2

In case of error when rebuilding index. Go into your magento var/report path and clean old errors and try again.

OTHER TIPS

Check which events set the indexes to invalid

Magento docs show the events for every index (see Events that Trigger Reindexing):

Further you can add some debug code in Mage_Index_Model_Resource_Process::updateStatus()

if ($status === Mage_Index_Model_Process::STATUS_REQUIRE_REINDEX) {
    Mage::log(sprintf('Indexer %s was invalidated.', $process->getIndexer()->getName()), null, 'invalid_index.log', true);
    foreach (debug_backtrace() as $db) {
        Mage::log(sprintf('%s::%s', $db['class'], $db['function']), null, 'invalid_index.log', true);
    }
}

This should show you a stack trace about what is setting the indexes to invalid. In my case it were API requests of 'catalogProductUpdate'

You can also check the exception.log if you'll find any locks of the 'index_process' table. This tables holds the data you see in System > Index Management

Creds for the debug code go here

Licensed under: CC-BY-SA with attribution
Not affiliated with magento.stackexchange
scroll top