Uploaded image for project: 'ManifoldCF'
  1. ManifoldCF
  2. CONNECTORS-145

The logic for dealing with a downed Search Engine in ExpireThread is not optimal

    XMLWordPrintableJSON

Details

    Description

      The expire stuffer thread puts documents from both the PENDING and PENDINGPURGATORY states into the ACTIVE and ACTIVEPURGATORY states. The expire threads should deal with errors by moving the candidate document back into its original state for a later expiration attempt, but right now the Expire Thread simply blocks and retries, essentially using up an expire thread for the duration of the outage.
      In a time when there was only one output connection, this was acceptable logic, but since there are multiple such connections possible now, it is a potential liability.

      Thus, logic must change in the Expire Thread to perform the appropriate error recovery.

      The other thread family that has this problem is the Document Delete Thread family. These threads will require some thought to fix because there is currently no deletion scheduling field in the jobqueue database table, and yet we'd need one if we were going to fix this problem in an appropriate manner. However, we can probably reuse the checktime field for this purpose if we are clever.

      Attachments

        Activity

          People

            kwright@metacarta.com Karl Wright
            kwright@metacarta.com Karl Wright
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: