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

Ignite TC Bot commented on IGNITE-27432:
----------------------------------------

{panel:title=Branch: [pull/12654/head] Base: [master] : No blockers 
found!|borderStyle=dashed|borderColor=#ccc|titleBGColor=#D6F7C1}{panel}
{panel:title=Branch: [pull/12654/head] Base: [master] : New Tests 
(1)|borderStyle=dashed|borderColor=#ccc|titleBGColor=#D6F7C1}
{color:#00008b}Calcite SQL{color} [[tests 
1|https://ci2.ignite.apache.org/viewLog.html?buildId=8823271]]
* {color:#013220}IgniteCalciteTestSuite: 
CalciteQueryProcessorPropertiesTest.testPlanCacheSize - PASSED{color}

{panel}
[TeamCity *--> Run :: All* 
Results|https://ci2.ignite.apache.org/viewLog.html?buildId=8817868&buildTypeId=IgniteTests24Java8_RunAll]

> Calcite engine. Make query plan cache size tunable
> --------------------------------------------------
>
>                 Key: IGNITE-27432
>                 URL: https://issues.apache.org/jira/browse/IGNITE-27432
>             Project: Ignite
>          Issue Type: Improvement
>            Reporter: Aleksey Plekhanov
>            Assignee: Aleksey Plekhanov
>            Priority: Major
>              Labels: calcite, ise
>          Time Spent: 50m
>  Remaining Estimate: 0h
>
> Currently we have plans cache with hardcoded (1024) size. See 
> \{{QueryPlanCacheImpl#CACHE_SIZE}}. This size must be tunable via dinamic 
> configuration.
> Also, plans cache used for two different purposes:
>  * Cache for query -> plan (to avoid planning)
>  * Cache for json -> fragment (to avoid deserialization)
> This has the following disadvantages.
>  * User can't rely on common CACHE_SIZE variable to know how many user 
> queries can fit the cache, since some of the slots are occupied by fragments.
>  * Plans cache is cleared on DDL, but fragments cache should not. 
>  * Plans cache requires query properties, such as schema, parameter types, 
> etc, but fragments cache only requires json text. 
>  * For fragments cache we can return FragmentPlan, not QueryPlan, to avoid 
> additional checks and casts (Map<String, FragmentPlan> type can be used). 
> We should use different data structures for these caches.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to