Magento – Enterprise 1.14.0.1 – Search index marked processing when not really processing

enterprise-1.14indexingmagento-enterprise

This has started to happen to me a few times on Enterprise 1.14.0.1 and I wondering if anyone has experienced the same issue. I have noticed the "Catalog Search Index" is listed as "Processing" in the admin. I do the usual steps of removing any stray lock files in "var/locks" and it still remains.

If I look at the index_process I can see that "catalogsearch_fulltext" has the "pending" status; however, if I look at the enterprise_mview_metadata I see that "catalogsearch_fulltext_cl" as a status of "3" or "working" which I determined by logging of the mysql query that is ran when the Index Management page is displayed.

So why the disconnect between these two tables? index_process says its not running, but enterprise_mview_metadata says it is running (status 3 = working).

It's my understanding the enterprise_mview_metadata tables handles the materialized views and triggers that in are in EE. I think there might be a bug in in somewhere where if cleans the tables.

I see in "app/code/core/Enterprise/Index/Model/Cron.php" there is a function called scheduledCleanup() which has the following comments:

Clean changelog tables listed in enterprise_mview/metadata table.
Cleanup would be executed in case the "index_clean_schedule" is set to
"1"

Has anybody experienced this issue? Maybe something to do with a search index that is aborted prematurely and the status not getting reset in:
app/code/core/Enterprise/CatalogSearch/Model/Index/Action/Fulltext/Refresh.php

Edit:
Just so everyone is aware. I can manually set the search indexer back to the green "Ready" status by the following MySQL; however, what I'm trying to accomplish is to understand how the situation I encountered can occur.

UPDATE `enterprise_mview_metadata` 
SET `status` = 1 
WHERE `changelog_name` = 'catalogsearch_fulltext_cl'

Edit: I'm using SOLR for search if that helps.

Best Answer

With partial re-indexing status in index_process table is not used anymore but calculated from enterprise_mview_metadata.

Related Topic