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

Database errors cause all worker threads (and the corresponding stuffer thread) to wait indefinitely

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Minor
    • Resolution: Fixed
    • ManifoldCF 0.1, ManifoldCF 0.2, ManifoldCF 0.3
    • ManifoldCF 0.3
    • None

    Description

      When ManifoldCF gets a database error from a thread, it tries to recover by resetting all threads to a known state. Unfortunately this code seems to fail, and you wind up with a frozen crawl with all worker threads in the following state:

      "Worker thread '36'" daemon prio=6 tid=0x00000000077ed000 nid=0xa98 in Object.wait() [0x000000000b1af000]
      java.lang.Thread.State: WAITING (on object monitor)
      at java.lang.Object.wait(Native Method)
      at java.lang.Object.wait(Object.java:485)
      at org.apache.manifoldcf.crawler.system.ResetManager.waitForReset(ResetManager.java:107)

      • locked <0x00000000e0005528> (a org.apache.manifoldcf.crawler.system.WorkerResetManager)
        at org.apache.manifoldcf.crawler.system.WorkerThread.run(WorkerThread.java:110)

      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: