You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@ignite.apache.org by "Aleksey Plekhanov (Jira)" <ji...@apache.org> on 2025/12/22 18:10:00 UTC
[jira] [Created] (IGNITE-27432) Calcite engine. Make query plan cache size tunable
Aleksey Plekhanov created IGNITE-27432:
------------------------------------------
Summary: 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
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)