Clemens Wyss created LUCENE-5791:
------------------------------------

             Summary: QueryParserUtil, big query with wildcards -> runs 
endlessly and produces heavy load
                 Key: LUCENE-5791
                 URL: https://issues.apache.org/jira/browse/LUCENE-5791
             Project: Lucene - Core
          Issue Type: Bug
          Components: modules/queryparser
         Environment: Lucene 4.7.2
Java 6
            Reporter: Clemens Wyss


The following "testcase" runs endlessly and produces VERY heavy load.
...
String query = "Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed 
diam nonumy eirmod tempor invidunt ut "
                                + "labore et dolore magna aliquyam erat, sed 
diam voluptua. At vero eos et accusam et justo duo dolores et "
                                + "ea rebum. Stet clita kasd gubergren, no sea 
takimata sanctus est Lorem ipsum dolor sit amet. "
                                + "Lorem ipsum dolor sit amet, consetetur 
sadipscing elitr, sed diam nonumy eirmod tempor invidunt "
                                + "ut labore et dolore magna aliquyam erat, sed 
diam voluptua. At vero eos et accusam et justo duo dolores "
                                + "et ea rebum. Stet clita kasd gubergren, no 
sea takimata sanctus est Lorem ipsum dolor sit amet"; String query  = 
query.replaceAll( "\\s+", "*" ); try { QueryParserUtil.parse( query, new 
String[] { "test" }, new Occur[] { Occur.MUST }, new KeywordAnalyzer() ); } 
catch ( Exception e ) { Assert.fail( e.getMessage() ); } ...

I don't say this testcase makes "sense", nevertheless the question remains 
whether this is a bug or a "feature"?

99% the threaddump/stacktrace looks as follows:
BasicOperations.determinize(Automaton) line: 680        
Automaton.determinize() line: 759       
SpecialOperations.getCommonSuffixBytesRef(Automaton) line: 165  
CompiledAutomaton.<init>(Automaton, Boolean, boolean) line: 168 
CompiledAutomaton.<init>(Automaton) line: 91    
WildcardQuery(AutomatonQuery).<init>(Term, Automaton) line: 67  
WildcardQuery.<init>(Term) line: 57     
WildcardQueryNodeBuilder.build(QueryNode) line: 42      
WildcardQueryNodeBuilder.build(QueryNode) line: 32      
StandardQueryTreeBuilder(QueryTreeBuilder).processNode(QueryNode, QueryBuilder) 
line: 186       
StandardQueryTreeBuilder(QueryTreeBuilder).process(QueryNode) line: 125 
StandardQueryTreeBuilder(QueryTreeBuilder).build(QueryNode) line: 218   
StandardQueryTreeBuilder.build(QueryNode) line: 82      
StandardQueryTreeBuilder.build(QueryNode) line: 53      
StandardQueryParser(QueryParserHelper).parse(String, String) line: 258  
StandardQueryParser.parse(String, String) line: 168     
QueryParserUtil.parse(String, String[], BooleanClause$Occur[], Analyzer) line: 
119      
IndexingTest.queryParserUtilLimit() line: 1450  





--
This message was sent by Atlassian JIRA
(v6.2#6252)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to