[
https://issues.apache.org/jira/browse/IGNITE-26758?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=18044602#comment-18044602
]
Kirill Anisimov commented on IGNITE-26758:
------------------------------------------
h4. Update (qryResCache / executeFieldsQuery path is not used for
SqlFieldsQuery, both local and non-local)
While investigating {{{}qryResCache{}}}, I found that the code path where it is
used (inside {{{}GridCacheQueryManager.executeFieldsQuery(...){}}}) is not
executed for SQL fields queries ({{{}SqlFieldsQuery{}}}) in both modes:
{{local=true}} and {{local=false}} (distributed query).
h4. Changes made
Added a test-only hit counter to
{{GridCacheQueryManager.executeFieldsQuery(...)}} + helper methods:
* {{resetExecuteFieldsQueryHitCount()}}
* {{executeFieldsQueryHitCount()}}
h4. Reproducer
Added {{GridCacheQueryManagerExecuteFieldsQueryTest}} that
# Runs a local SQL fields query ({{{}SqlFieldsQuery#setLocal(true){}}}) and
asserts {{{}executeFieldsQueryHitCount() == 0{}}}.
# Runs two parallel local SQL fields queries ({{{}setLocal(true){}}} in both
threads) and asserts {{{}executeFieldsQueryHitCount() == 0{}}}.
# Runs a non-local SQL fields query ({{{}local=false{}}}, 2-node grid) with
keys intentionally chosen so that one key is primary on node0 and another key
is primary on node1.
h4. Result
{{GridCacheQueryManager.executeFieldsQuery(...)}} is not hit for
{{SqlFieldsQuery}} execution (counter stays 0)
Therefore {{qryResCache}} is not involved in {{SqlFieldsQuery}} execution path.
> Figure out what qryResCache is used for and where it is used
> ------------------------------------------------------------
>
> Key: IGNITE-26758
> URL: https://issues.apache.org/jira/browse/IGNITE-26758
> Project: Ignite
> Issue Type: Improvement
> Reporter: Kirill Anisimov
> Assignee: Kirill Anisimov
> Priority: Major
> Labels: cache, investigation
> Fix For: 2.18
>
>
> There is a qryResCache module in our codebase, but it is not entirely clear
> what exactly it caches and what it is intended for. It is necessary to
> analyze its operation and determine whether it needs to be used.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)