Uploaded image for project: 'eZ Publish / Platform'
  1. eZ Publish / Platform
  2. EZP-24893

Delayed indexing breaks when a node is moved and then trashed

    Details

      Description

      Moving a node creates an entry in ezpending_actions. If you then delete the object (move it to the trash) before the indexcontent cronjob runs, the action fails – in fact, it fails badly in that the indexcontent cronjob will continue to try to index that object incessantly.

      Steps to reproduce:

      1. Prepare an eZ Publish 5.4 installation, fully updated + eZ Find 5.4;
      2. Enable delayed indexing:

      • Configure /settings/override/site.ini.append.php:

        [SearchSettings]
        DelayedIndexing=enabled
        

      • Configure /settings/override/cronjob.ini.append.php:

        <?php /* #?ini charset="utf8"?
         
        [CronjobPart-indexcontent]
        Scripts[]=indexcontent.php
         
        */ ?>
        

      3. Start Solr service;
      4. Create the following content structure:

      Home
      	Tests
      		Article1
      	Tests2
      

      5. Move "Article1" from "Tests" folder to "Tests2";
      6. Send "Tests2/Article1" to trash;
      7. Run "indexcontent" cronjob:

      $ php ezpublish/console --env=prod ezpublish:legacy:script runcronjobs.php indexcontent
      Running script 'runcronjobs.php' in eZ Publish legacy context
      Using siteaccess  for cronjob
      Running cronjob part 'indexcontent'
      Running cronjobs/indexcontent.php at: 29/09/2015 6:13 pmAn error occured while trying fetching node 
       
      Starting processing pending search engine modifications
      	Indexing object ID #121
      	Indexing object ID #122
      	Indexing object ID #122An error occured while trying fetching node 
      An error occured while trying fetching node 
      An error occured while trying fetching node 
      An error occured while trying fetching node 
      An error occured while trying fetching node 
      An error occured while trying fetching node 
       
      	Indexing object ID #122
      	Indexing object ID #122
      	Indexing object ID #122
      	Indexing object ID #122
      	Indexing object ID #122
      	Indexing object ID #122An error occured while trying fetching node 
      An error occured while trying fetching node 
      An error occured while trying fetching node 
      An error occured while trying fetching node 
      An error occured while trying fetching node 
      An error occured while trying fetching node
      ...
      

      These errors repeat over and over in an endless loop. The legacy error log also registers an endless sequence of eZSolr-related errors:

      [ Sep 29 2015 18:13:22 ] [] eZSolr::addObject:
      Unable to fetch main node for object: 122
      [ Sep 29 2015 18:13:23 ] [] eZSolr::addObject:
      Unable to fetch main node for object: 122
      ...
      

        Issue Links

          Activity

          Show
          Nuno Oliveira (Inactive) added a comment - - edited Proposed fix: https://github.com/ezsystems/ezpublish-legacy/pull/1204 https://github.com/ezsystems/ezpublish-legacy/pull/1206
          Show
          Yannick Roger (Inactive) added a comment - Fixed in master: https://github.com/ezsystems/ezpublish-legacy/commit/235e747219dd0f6c06ab942b89971782db876fa4
          Hide
          Rui Silva (Inactive) added a comment -

          Tested and approved by QA for 5.4 and master.

          Show
          Rui Silva (Inactive) added a comment - Tested and approved by QA for 5.4 and master.

            People

            • Assignee:
              Unassigned
              Reporter:
              Nuno Oliveira (Inactive)
            • Votes:
              0 Vote for this issue
              Watchers:
              5 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: