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]