You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@geode.apache.org by "ASF subversion and git services (Jira)" <ji...@apache.org> on 2022/06/09 02:55:00 UTC

[jira] [Commented] (GEODE-9632) Wrong output for the range query with wildcard character

    [ https://issues.apache.org/jira/browse/GEODE-9632?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17551918#comment-17551918 ] 

ASF subversion and git services commented on GEODE-9632:
--------------------------------------------------------

Commit 784327a328bf8ec31305b3375261001e3b00c3a7 in geode's branch refs/heads/develop from Nabarun Nag
[ https://gitbox.apache.org/repos/asf?p=geode.git;h=784327a328 ]

Revert "GEODE-9632: Allow INDEX_THRESHOLD_SIZE System property to override CompiledValue.RESULT_LIMIT (#7010)" (#7787)

This reverts commit 67359dcd

> Wrong output for the range query with wildcard character
> --------------------------------------------------------
>
>                 Key: GEODE-9632
>                 URL: https://issues.apache.org/jira/browse/GEODE-9632
>             Project: Geode
>          Issue Type: Bug
>          Components: querying
>    Affects Versions: 1.13.1, 1.14.0
>            Reporter: Mario Kevo
>            Assignee: Mario Kevo
>            Priority: Major
>              Labels: pull-request-available
>             Fix For: 1.15.0
>
>
> We are using a range index on an attribute that is defined as HashMap.
> The problem is when we are using wildcard character(%), there is no results for the query despite of there are some entries that meet the condition we are checking.
> There is an example:
>  
> {code:java}
> gfsh>query --query="<trace>SELECT e.key, e.value from /example-region.entrySet e where e.value.positions['SUN'] LIKE '342234525745'" 
> Result      : true
> Limit       : 100
> Rows        : 1
> Query Trace : Query Executed in 9.082156 ms; indexesUsed(1):index1(Results: 1)
> gfsh>query --query="<trace>SELECT e.key, e.value from /example-region.entrySet e where e.value.positions['SUN'] LIKE '34223452574%'" 
> Result      : true
> Limit       : 100
> Rows        : 0
> Query Trace : Query Executed in 4.677162 ms; indexesUsed(1):index1(Results: 100)
> {code}
>  As we are using indexes to have a better performance of executing a query it first need to check how many entries has that field which we are looking for. It stores it in index results and then check how many of them meet condition we defined in our query.
> The problem is that there is parameter INDEX_THRESHOLD_SIZE which default value is 100. If there is a lot of entries in the region it will write just first 100 entries that is found.
> This parameter can be changed while starting servers by adding *-Dgemfire.Query.INDEX_THRESHOLD_SIZE=<value>*, but if we set it to a higher value than the limit in the query is, it will overwrite it. So there should be some changes to take this attribute into account.
>  
>  



--
This message was sent by Atlassian Jira
(v8.20.7#820007)