[
https://issues.apache.org/jira/browse/IGNITE-10985?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Vladimir Ozerov reassigned IGNITE-10985:
----------------------------------------
Assignee: Vladimir Ozerov (was: Alexander Lapin)
> SQL: create low-overhead implementation of Row for SELECTs
> ----------------------------------------------------------
>
> Key: IGNITE-10985
> URL: https://issues.apache.org/jira/browse/IGNITE-10985
> Project: Ignite
> Issue Type: Task
> Components: sql
> Reporter: Vladimir Ozerov
> Assignee: Vladimir Ozerov
> Priority: Major
> Fix For: 2.8
>
>
> Currently we use {{GridH2KeyValueRowOnheap}} for both update and search
> operations. This leads to *huge* memory overhead during {{SELECT}} execution.
> If you take a closer look on what is inside the row, you will note the
> following:
> # It has both serialized and deserialized {{GridCacheVersion}} which is never
> needed
> # It has wrapped key and value object
> # It has reference to {{CacheDataRow}} which is not needed either
> # It has {{valCache}} field which is never used in SELECT
> The goal of this ticket is to created optimized version of row which will be
> created during {{SELECT}} operations only. It should contain only minimally
> necessary information:
> # Key (unwrapped!)
> # Value (unwrapped!)
> # Version (unwrapped, we will remove it completely in separate ticket
> IGNITE-10986)
> It should not contain reference to {{CacheDataRow}}. There is a chance that
> we will need some pieces from it (e.g. cache ID and link for caching
> purposes), but it definitely will be only small subset of the whole
> {{CacheDataRowAdapter}} (or even worse - {{MvccDataRow}}).
> Entry point: {{H2Tree.createRowFromLink}} methods. Note that they return
> {{GridH2Row}}, while in their usages only very relaxed version of
> {{GridH2SearchRow}} is needed. So let's start with new implementation of row
> for these methods and then gradually remove all unnecessary stuff from there.
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)