Lucene - Core
  1. Lucene - Core
  2. LUCENE-2620

Queries with too many asterisks causing 100% CPU usage


    • Type: Bug Bug
    • Status: Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: 3.0.1
    • Fix Version/s: 2.9.4, 3.0.3, 3.1
    • Component/s: core/search
    • Labels:
    • Environment:

      Debian Lenny with Tomcat 5.5 and Mac OS X 10.6 with Tomcat 6, probably others

    • Lucene Fields:
      New, Patch Available


      If a search query has many adjacent asterisks (e.g. fo**************obar), I can get my webapp caught in a loop that does not seem to end in a reasonable amount of time and may in fact be infinite. For just a few asterisks the query eventually does return some results, but as I add more it takes a longer and longer amount of time. After about six or seven asterisks the query never seems to finish. Even if I abort the search, the thread handling the troublesome query continues running in the background and pinning a CPU.

      I found the problem in src/java/org/apache/lucene/search/ on Lucene 3.0.1 and it looks like 3.0.2 ought to be affected as well. I'm not sure about trunk, though. I have a patch that fixes the problem for me in 3.0.1.

      1. lucene-asterisks.diff
        0.6 kB
        Nick Barkas
      2. LUCENE-2620_3x.patch
        2 kB
        Robert Muir



          • Assignee:
            Robert Muir
            Nick Barkas
          • Votes:
            0 Vote for this issue
            0 Start watching this issue


            • Created: