Uploaded image for project: 'Lucene - Core'
  1. Lucene - Core
  2. LUCENE-2620

Queries with too many asterisks causing 100% CPU usage


    • Bug
    • Status: Closed
    • Major
    • Resolution: Fixed
    • 3.0.1
    • 2.9.4, 3.0.3, 3.1
    • core/search
    • None
    • Debian Lenny with Tomcat 5.5 and Mac OS X 10.6 with Tomcat 6, probably others

    • 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/WildcardTermEnum.java 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



            rcmuir Robert Muir
            snb Nick Barkas
            0 Vote for this issue
            0 Start watching this issue