Details
-
Bug
-
Status: Open
-
Major
-
Resolution: Unresolved
-
None
-
None
-
None
-
Lucene 4.7.2
Java 6
-
New
Description
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[]
, 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