[ https://issues.apache.org/jira/browse/GEODE-2943?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16017944#comment-16017944 ]
Barry Oglesby commented on GEODE-2943: -------------------------------------- These queries work fine: {noformat} gfsh>search lucene --name=index --region=data --defaultField=* --queryStrings=* gfsh>search lucene --name=index --region=data --defaultField=Agency --queryStrings=*:* gfsh>search lucene --name=index --region=data --defaultField=XXX --queryStrings=*:* {noformat} This one fails: {noformat} gfsh>search lucene --name=index --region=data --defaultField=Agency --queryStrings=* {noformat} By default, lucene queries don't support wildcards, so this one fails with a LEADING_WILDCARD_NOT_ALLOWED. The ones that succeed are parsed a bit differently than the one that fails. The StandardQueryParser converts the input query to a QueryNode and sends it through a StandardQueryNodeProcessorPipeline to manipulate the query. The StandardQueryNodeProcessorPipeline is a ordered list of QueryNodeProcessors. The QueryNode is sent through all of these, any one of which may change the original QueryNode and return a different one. The StandardQueryNodeProcessorPipeline defines these QueryNodeProcessors: - WildcardQueryNodeProcessor - MultiFieldQueryNodeProcessor - FuzzyQueryNodeProcessor - MatchAllDocsQueryNodeProcessor - OpenRangeQueryNodeProcessor - LegacyNumericQueryNodeProcessor - LegacyNumericRangeQueryNodeProcessor - PointQueryNodeProcessor - PointRangeQueryNodeProcessor - LowercaseExpandedTermsQueryNodeProcessor - TermRangeQueryNodeProcessor - AllowLeadingWildcardProcessor - AnalyzerQueryNodeProcessor - PhraseSlopQueryNodeProcessor - BooleanQuery2ModifierNodeProcessor - NoChildOptimizationQueryNodeProcessor - RemoveDeletedQueryNodesProcessor - RemoveEmptyNonLeafQueryNodeProcessor - BooleanSingleChildOptimizationQueryNodeProcessor - DefaultPhraseSlopQueryNodeProcessor - BoostQueryNodeProcessor - MultiTermRewriteMethodProcessor In all cases, the QueryNode starts out as a FieldQueryNode: {noformat} StringQueryProvider.getQuery initialQueryTree=<field start='0' end='1' field='Agency' text='*'/> class=org.apache.lucene.queryparser.flexible.core.nodes.FieldQueryNode {noformat} The query that fails gets converted to a WildcardQueryNode by the WildcardQueryNodeProcessor and remains that way until it gets to the AllowLeadingWildcardProcessor. At that point it fails with the exception: {noformat} StringQueryProvider.getQuery processor=org.apache.lucene.queryparser.flexible.standard.processors.WildcardQueryNodeProcessor@3af718f0 StringQueryProvider.getQuery intermediateQueryTree=<wildcard field='Agency' term='*'/> class=org.apache.lucene.queryparser.flexible.standard.nodes.WildcardQueryNode StringQueryProvider.getQuery processor=org.apache.lucene.queryparser.flexible.standard.processors.MultiFieldQueryNodeProcessor@b4c44dc StringQueryProvider.getQuery intermediateQueryTree=<wildcard field='Agency' term='*'/> class=org.apache.lucene.queryparser.flexible.standard.nodes.WildcardQueryNode StringQueryProvider.getQuery processor=org.apache.lucene.queryparser.flexible.standard.processors.FuzzyQueryNodeProcessor@97eeddd StringQueryProvider.getQuery intermediateQueryTree=<wildcard field='Agency' term='*'/> class=org.apache.lucene.queryparser.flexible.standard.nodes.WildcardQueryNode StringQueryProvider.getQuery processor=org.apache.lucene.queryparser.flexible.standard.processors.MatchAllDocsQueryNodeProcessor@2a7914c6 StringQueryProvider.getQuery intermediateQueryTree=<wildcard field='Agency' term='*'/> class=org.apache.lucene.queryparser.flexible.standard.nodes.WildcardQueryNode StringQueryProvider.getQuery processor=org.apache.lucene.queryparser.flexible.standard.processors.OpenRangeQueryNodeProcessor@6358136c StringQueryProvider.getQuery intermediateQueryTree=<wildcard field='Agency' term='*'/> class=org.apache.lucene.queryparser.flexible.standard.nodes.WildcardQueryNode StringQueryProvider.getQuery processor=org.apache.lucene.queryparser.flexible.standard.processors.LegacyNumericQueryNodeProcessor@a5bc17f StringQueryProvider.getQuery intermediateQueryTree=<wildcard field='Agency' term='*'/> class=org.apache.lucene.queryparser.flexible.standard.nodes.WildcardQueryNode StringQueryProvider.getQuery processor=org.apache.lucene.queryparser.flexible.standard.processors.LegacyNumericRangeQueryNodeProcessor@46fca899 StringQueryProvider.getQuery intermediateQueryTree=<wildcard field='Agency' term='*'/> class=org.apache.lucene.queryparser.flexible.standard.nodes.WildcardQueryNode StringQueryProvider.getQuery processor=org.apache.lucene.queryparser.flexible.standard.processors.PointQueryNodeProcessor@17746c87 StringQueryProvider.getQuery intermediateQueryTree=<wildcard field='Agency' term='*'/> class=org.apache.lucene.queryparser.flexible.standard.nodes.WildcardQueryNode StringQueryProvider.getQuery processor=org.apache.lucene.queryparser.flexible.standard.processors.PointRangeQueryNodeProcessor@2d71f37f StringQueryProvider.getQuery intermediateQueryTree=<wildcard field='Agency' term='*'/> class=org.apache.lucene.queryparser.flexible.standard.nodes.WildcardQueryNode StringQueryProvider.getQuery processor=org.apache.lucene.queryparser.flexible.standard.processors.LowercaseExpandedTermsQueryNodeProcessor@e6a2e28 StringQueryProvider.getQuery intermediateQueryTree=<wildcard field='Agency' term='*'/> class=org.apache.lucene.queryparser.flexible.standard.nodes.WildcardQueryNode StringQueryProvider.getQuery processor=org.apache.lucene.queryparser.flexible.standard.processors.TermRangeQueryNodeProcessor@3ace7b36 StringQueryProvider.getQuery intermediateQueryTree=<wildcard field='Agency' term='*'/> class=org.apache.lucene.queryparser.flexible.standard.nodes.WildcardQueryNode StringQueryProvider.getQuery processor=org.apache.lucene.queryparser.flexible.standard.processors.AllowLeadingWildcardProcessor@6fd60e87 StringQueryProvider.getQuery e=LEADING_WILDCARD_NOT_ALLOWED: Leading wildcard is not allowed: Agency:* {noformat} A query that succeeds gets converted to aWildcardQueryNode by the WildcardQueryNodeProcessor and then to a MatchAllDocsQueryNode by the MatchAllDocsQueryNodeProcessor. It remains that way until it gets to the AllowLeadingWildcardProcessor. At that point, it passes fine: {noformat} StringQueryProvider.getQuery initialQueryTree=<field start='2' end='3' field='*' text='*'/> class=org.apache.lucene.queryparser.flexible.core.nodes.FieldQueryNode StringQueryProvider.getQuery processor=org.apache.lucene.queryparser.flexible.standard.processors.WildcardQueryNodeProcessor@c8d85ca StringQueryProvider.getQuery intermediateQueryTree=<wildcard field='*' term='*'/> class=org.apache.lucene.queryparser.flexible.standard.nodes.WildcardQueryNode StringQueryProvider.getQuery processor=org.apache.lucene.queryparser.flexible.standard.processors.MultiFieldQueryNodeProcessor@2a939728 StringQueryProvider.getQuery intermediateQueryTree=<wildcard field='*' term='*'/> class=org.apache.lucene.queryparser.flexible.standard.nodes.WildcardQueryNode StringQueryProvider.getQuery processor=org.apache.lucene.queryparser.flexible.standard.processors.FuzzyQueryNodeProcessor@6ce1bd35 StringQueryProvider.getQuery intermediateQueryTree=<wildcard field='*' term='*'/> class=org.apache.lucene.queryparser.flexible.standard.nodes.WildcardQueryNode StringQueryProvider.getQuery processor=org.apache.lucene.queryparser.flexible.standard.processors.MatchAllDocsQueryNodeProcessor@733adbce StringQueryProvider.getQuery intermediateQueryTree=<matchAllDocs field='*' term='*'/> class=org.apache.lucene.queryparser.flexible.core.nodes.MatchAllDocsQueryNode StringQueryProvider.getQuery processor=org.apache.lucene.queryparser.flexible.standard.processors.OpenRangeQueryNodeProcessor@13f9a3b6 StringQueryProvider.getQuery intermediateQueryTree=<matchAllDocs field='*' term='*'/> class=org.apache.lucene.queryparser.flexible.core.nodes.MatchAllDocsQueryNode StringQueryProvider.getQuery processor=org.apache.lucene.queryparser.flexible.standard.processors.LegacyNumericQueryNodeProcessor@25e55c36 StringQueryProvider.getQuery intermediateQueryTree=<matchAllDocs field='*' term='*'/> class=org.apache.lucene.queryparser.flexible.core.nodes.MatchAllDocsQueryNode StringQueryProvider.getQuery processor=org.apache.lucene.queryparser.flexible.standard.processors.LegacyNumericRangeQueryNodeProcessor@448c45aa StringQueryProvider.getQuery intermediateQueryTree=<matchAllDocs field='*' term='*'/> class=org.apache.lucene.queryparser.flexible.core.nodes.MatchAllDocsQueryNode StringQueryProvider.getQuery processor=org.apache.lucene.queryparser.flexible.standard.processors.PointQueryNodeProcessor@61cd025e StringQueryProvider.getQuery intermediateQueryTree=<matchAllDocs field='*' term='*'/> class=org.apache.lucene.queryparser.flexible.core.nodes.MatchAllDocsQueryNode StringQueryProvider.getQuery processor=org.apache.lucene.queryparser.flexible.standard.processors.PointRangeQueryNodeProcessor@3ff7e9c2 StringQueryProvider.getQuery intermediateQueryTree=<matchAllDocs field='*' term='*'/> class=org.apache.lucene.queryparser.flexible.core.nodes.MatchAllDocsQueryNode StringQueryProvider.getQuery processor=org.apache.lucene.queryparser.flexible.standard.processors.LowercaseExpandedTermsQueryNodeProcessor@30fc06e6 StringQueryProvider.getQuery intermediateQueryTree=<matchAllDocs field='*' term='*'/> class=org.apache.lucene.queryparser.flexible.core.nodes.MatchAllDocsQueryNode StringQueryProvider.getQuery processor=org.apache.lucene.queryparser.flexible.standard.processors.TermRangeQueryNodeProcessor@167bb446 StringQueryProvider.getQuery intermediateQueryTree=<matchAllDocs field='*' term='*'/> class=org.apache.lucene.queryparser.flexible.core.nodes.MatchAllDocsQueryNode StringQueryProvider.getQuery processor=org.apache.lucene.queryparser.flexible.standard.processors.AllowLeadingWildcardProcessor@1f2d9b25 StringQueryProvider.getQuery intermediateQueryTree=<matchAllDocs field='*' term='*'/> class=org.apache.lucene.queryparser.flexible.core.nodes.MatchAllDocsQueryNode StringQueryProvider.getQuery processor=org.apache.lucene.queryparser.flexible.standard.processors.AnalyzerQueryNodeProcessor@1f14c8fb StringQueryProvider.getQuery intermediateQueryTree=<matchAllDocs field='*' term='*'/> class=org.apache.lucene.queryparser.flexible.core.nodes.MatchAllDocsQueryNode StringQueryProvider.getQuery processor=org.apache.lucene.queryparser.flexible.standard.processors.PhraseSlopQueryNodeProcessor@4f0f36c9 StringQueryProvider.getQuery intermediateQueryTree=<matchAllDocs field='*' term='*'/> class=org.apache.lucene.queryparser.flexible.core.nodes.MatchAllDocsQueryNode StringQueryProvider.getQuery processor=org.apache.lucene.queryparser.flexible.standard.processors.BooleanQuery2ModifierNodeProcessor@41d72ea StringQueryProvider.getQuery intermediateQueryTree=<matchAllDocs field='*' term='*'/> class=org.apache.lucene.queryparser.flexible.core.nodes.MatchAllDocsQueryNode StringQueryProvider.getQuery processor=org.apache.lucene.queryparser.flexible.core.processors.NoChildOptimizationQueryNodeProcessor@771a35ff StringQueryProvider.getQuery intermediateQueryTree=<matchAllDocs field='*' term='*'/> class=org.apache.lucene.queryparser.flexible.core.nodes.MatchAllDocsQueryNode StringQueryProvider.getQuery processor=org.apache.lucene.queryparser.flexible.core.processors.RemoveDeletedQueryNodesProcessor@4ef068f7 StringQueryProvider.getQuery intermediateQueryTree=<matchAllDocs field='*' term='*'/> class=org.apache.lucene.queryparser.flexible.core.nodes.MatchAllDocsQueryNode StringQueryProvider.getQuery processor=org.apache.lucene.queryparser.flexible.standard.processors.RemoveEmptyNonLeafQueryNodeProcessor@78ffa69e StringQueryProvider.getQuery intermediateQueryTree=<matchAllDocs field='*' term='*'/> class=org.apache.lucene.queryparser.flexible.core.nodes.MatchAllDocsQueryNode StringQueryProvider.getQuery processor=org.apache.lucene.queryparser.flexible.standard.processors.BooleanSingleChildOptimizationQueryNodeProcessor@179a1149 StringQueryProvider.getQuery intermediateQueryTree=<matchAllDocs field='*' term='*'/> class=org.apache.lucene.queryparser.flexible.core.nodes.MatchAllDocsQueryNode StringQueryProvider.getQuery processor=org.apache.lucene.queryparser.flexible.standard.processors.DefaultPhraseSlopQueryNodeProcessor@31096b88 StringQueryProvider.getQuery intermediateQueryTree=<matchAllDocs field='*' term='*'/> class=org.apache.lucene.queryparser.flexible.core.nodes.MatchAllDocsQueryNode StringQueryProvider.getQuery processor=org.apache.lucene.queryparser.flexible.standard.processors.BoostQueryNodeProcessor@7c730a8e StringQueryProvider.getQuery intermediateQueryTree=<matchAllDocs field='*' term='*'/> class=org.apache.lucene.queryparser.flexible.core.nodes.MatchAllDocsQueryNode StringQueryProvider.getQuery processor=org.apache.lucene.queryparser.flexible.standard.processors.MultiTermRewriteMethodProcessor@79bd88c8 StringQueryProvider.getQuery intermediateQueryTree=<matchAllDocs field='*' term='*'/> class=org.apache.lucene.queryparser.flexible.core.nodes.MatchAllDocsQueryNode {noformat} The MatchAllDocsQueryNodeProcessor postProcessNode method converts the QueryNode to a MatchAllDocsQueryNode if the field is '*' and the text is '*': {noformat} if (fqn.getField().toString().equals("*") && fqn.getText().toString().equals("*")) { return new MatchAllDocsQueryNode(); } {noformat} The AllowLeadingWildcardProcessor postProcessNode method checks if the QueryNode is a WildcardQueryNode. If so, it leads to the check that fails. If not, it returns. {noformat} if (node instanceof WildcardQueryNode) { ... throw new QueryNodeException... } {noformat} So, in the failed case, the QueryNode that is passed into the AllowLeadingWildcardProc essor is a WildcardQueryNode; in the successful cases it is a MatchAllDocsQueryNode. There is an API to enable wildcard queries: {noformat} org.apache.lucene.queryparser.flexible.standard.StandardQueryParser.setAllowLeadingWildcard {noformat} Changing StringQueryProvider getQuery to call that API fixes this particular exception. I also have a change to prevent the lucene exceptions from being serialized for other lucene exceptions > Invalid queryStrings cause lucene searches to hang in in PR with multiple > nodes > ------------------------------------------------------------------------------- > > Key: GEODE-2943 > URL: https://issues.apache.org/jira/browse/GEODE-2943 > Project: Geode > Issue Type: Bug > Components: lucene > Affects Versions: 1.2.0 > Reporter: Shelley Lynn Hughes-Godfrey > > Some invalid query strings might be "*" or " ". > When used with a single node dataStore, we see the correct Exception returned: > {noformat} > gfsh>search lucene --name=testIndex --region=/testRegion --queryStrings="*" > --defaultField=__REGION_VALUE_FIELD > Could not process command due to GemFire error. An error occurred while > searching lucene index across the Geode cluster: Leading wildcard is not > allowed: __REGION_VALUE_FIELD:* > {noformat} > However, with multiple nodes, the query hangs. > Jason debugged this a bit and found: > {noformat} > org.apache.geode.InternalGemFireException: java.io.NotSerializableException: > org.apache.lucene.queryparser.flexible.messages.MessageImpl > at > org.apache.geode.distributed.internal.DistributionManager.putOutgoing(DistributionManager.java:1838) > at > org.apache.geode.distributed.internal.ReplyMessage.send(ReplyMessage.java:111) > at > org.apache.geode.internal.cache.partitioned.PartitionMessage.sendReply(PartitionMessage.java:441) > at > org.apache.geode.internal.cache.partitioned.PartitionMessage.process(PartitionMessage.java:421) > at > org.apache.geode.distributed.internal.DistributionMessage.scheduleAction(DistributionMessage.java:376) > at > org.apache.geode.distributed.internal.DistributionMessage$1.run(DistributionMessage.java:442) > at > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) > at > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) > at > org.apache.geode.distributed.internal.DistributionManager.runUntilShutdown(DistributionManager.java:625) > at > org.apache.geode.distributed.internal.DistributionManager$9$1.run(DistributionManager.java:1071) > at java.lang.Thread.run(Thread.java:745) > Caused by: java.io.NotSerializableException: > org.apache.lucene.queryparser.flexible.messages.MessageImpl > at > java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1184) > at > java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1548) > at > java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1509) > at > java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1432) > at > java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1178) > at > java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1548) > at > java.io.ObjectOutputStream.defaultWriteObject(ObjectOutputStream.java:441) > at java.lang.Throwable.writeObject(Throwable.java:985) > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > at > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) > at java.lang.reflect.Method.invoke(Method.java:483) > at > java.io.ObjectStreamClass.invokeWriteObject(ObjectStreamClass.java:988) > at > java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1496) > {noformat} > The executing node fails with > {noformat} > [info 2017/05/18 13:50:34.115 PDT server1 <Function Execution Processor3> > tid=0x120] Unexpected exception during function execution on local node > Partitioned Region > org.apache.geode.cache.execute.FunctionException: > org.apache.geode.cache.lucene.LuceneQueryException: Malformed lucene query: > *asdf* > at > org.apache.geode.cache.lucene.internal.distributed.LuceneQueryFunction.getQuery(LuceneQueryFunction.java:163) > at > org.apache.geode.cache.lucene.internal.distributed.LuceneQueryFunction.execute(LuceneQueryFunction.java:87) > at > org.apache.geode.internal.cache.execute.AbstractExecution.executeFunctionLocally(AbstractExecution.java:332) > at > org.apache.geode.internal.cache.execute.AbstractExecution$1.run(AbstractExecution.java:274) > at > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) > at > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) > at > org.apache.geode.distributed.internal.DistributionManager.runUntilShutdown(DistributionManager.java:625) > at > org.apache.geode.distributed.internal.DistributionManager$9$1.run(DistributionManager.java:1071) > at java.lang.Thread.run(Thread.java:745) > Caused by: org.apache.geode.cache.lucene.LuceneQueryException: Malformed > lucene query: *asdf* > at > org.apache.geode.cache.lucene.internal.StringQueryProvider.getQuery(StringQueryProvider.java:79) > at > org.apache.geode.cache.lucene.internal.distributed.LuceneQueryFunction.getQuery(LuceneQueryFunction.java:160) > ... 8 more > Caused by: LEADING_WILDCARD_NOT_ALLOWED: Leading wildcard is not allowed: > field1:*asdf* > at > org.apache.lucene.queryparser.flexible.standard.processors.AllowLeadingWildcardProcessor.postProcessNode(AllowLeadingWildcardProcessor.java:79) > at > org.apache.lucene.queryparser.flexible.core.processors.QueryNodeProcessorImpl.processIteration(QueryNodeProcessorImpl.java:98) > at > org.apache.lucene.queryparser.flexible.core.processors.QueryNodeProcessorImpl.process(QueryNodeProcessorImpl.java:89) > at > org.apache.lucene.queryparser.flexible.standard.processors.AllowLeadingWildcardProcessor.process(AllowLeadingWildcardProcessor.java:54) > at > org.apache.lucene.queryparser.flexible.core.processors.QueryNodeProcessorPipeline.process(QueryNodeProcessorPipeline.java:89) > at > org.apache.lucene.queryparser.flexible.core.QueryParserHelper.parse(QueryParserHelper.java:250) > at > org.apache.lucene.queryparser.flexible.standard.StandardQueryParser.parse(StandardQueryParser.java:159) > at > org.apache.geode.cache.lucene.internal.StringQueryProvider.getQuery(StringQueryProvider.java:73) > ... 9 more > but it's waiting for replies that never come because the other nodes fail > with the serialization issue > {noformat} > the remote nodes fail in the function with this stack trace (where we will > probably need to try/catch any lucene exception) > {noformat} > [warning 2017/05/18 13:50:34.105 PDT server2 <Function Execution Processor1> > tid=0x3c] > org.apache.geode.cache.lucene.LuceneQueryException: Malformed lucene query: > *asdf* > at > org.apache.geode.cache.lucene.internal.StringQueryProvider.getQuery(StringQueryProvider.java:79) > at > org.apache.geode.cache.lucene.internal.distributed.LuceneQueryFunction.getQuery(LuceneQueryFunction.java:160) > at > org.apache.geode.cache.lucene.internal.distributed.LuceneQueryFunction.execute(LuceneQueryFunction.java:87) > at > org.apache.geode.internal.cache.PartitionedRegionDataStore.executeOnDataStore(PartitionedRegionDataStore.java:2956) > at > org.apache.geode.internal.cache.partitioned.PartitionedRegionFunctionStreamingMessage.operateOnPartitionedRegion(PartitionedRegionFunctionStreamingMessage.java:98) > at > org.apache.geode.internal.cache.partitioned.PartitionMessage.process(PartitionMessage.java:339) > at > org.apache.geode.distributed.internal.DistributionMessage.scheduleAction(DistributionMessage.java:376) > at > org.apache.geode.distributed.internal.DistributionMessage$1.run(DistributionMessage.java:442) > at > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) > at > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) > at > org.apache.geode.distributed.internal.DistributionManager.runUntilShutdown(DistributionManager.java:625) > at > org.apache.geode.distributed.internal.DistributionManager$9$1.run(DistributionManager.java:1071) > at java.lang.Thread.run(Thread.java:745) > Caused by: LEADING_WILDCARD_NOT_ALLOWED: Leading wildcard is not allowed: > field1:*asdf* > at > org.apache.lucene.queryparser.flexible.standard.processors.AllowLeadingWildcardProcessor.postProcessNode(AllowLeadingWildcardProcessor.java:79) > at > org.apache.lucene.queryparser.flexible.core.processors.QueryNodeProcessorImpl.processIteration(QueryNodeProcessorImpl.java:98) > at > org.apache.lucene.queryparser.flexible.core.processors.QueryNodeProcessorImpl.process(QueryNodeProcessorImpl.java:89) > at > org.apache.lucene.queryparser.flexible.standard.processors.AllowLeadingWildcardProcessor.process(AllowLeadingWildcardProcessor.java:54) > at > org.apache.lucene.queryparser.flexible.core.processors.QueryNodeProcessorPipeline.process(QueryNodeProcessorPipeline.java:89) > at > org.apache.lucene.queryparser.flexible.core.QueryParserHelper.parse(QueryParserHelper.java:250) > at > org.apache.lucene.queryparser.flexible.standard.StandardQueryParser.parse(StandardQueryParser.java:159) > at > org.apache.geode.cache.lucene.internal.StringQueryProvider.getQuery(StringQueryProvider.java:73) > ... 12 more > {noformat} -- This message was sent by Atlassian JIRA (v6.3.15#6346)