Description
Suppose the indexcontent.php cron job has started running, and found an object with id X at the beginning of the first batch of 50 pending index actions. It has been indexed and now the other remaining index actions of the first batch of 50 are being handled.
In the meantime, the object with id X is being modified and published again. A new pending index action is created.
The cron job finishes the first batch of 50 index jobs and removes them from the database based solely on their param and action. So the new pending action gets removed as well.
The search index now does not reflect the current content of object with id X.
I think part of the solution to this problem is using time stamps in pending actions, see enhancement request #13965.
Attachments
Issue Links
- relates to
-
EZP-14032 External search engine indexes out of sync on db transaction error
- Closed
-
EZP-13965 Add a timestamp field to ezpending_actions table
- Closed
-
EZP-13971 eZSearch::registerSearchObject() inserts dulicates when DelayedIndexing is enabled [ patch attached ]
- Closed
-
EZP-14027 staticcache_cleanup cron job might skip refereshing static cache of updated objects
- Closed