[ 
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)

Reply via email to