[
https://issues.apache.org/jira/browse/IGNITE-24976?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Andrey Mashenkov updated IGNITE-24976:
--------------------------------------
Description:
1. Row serialization inside UpgradingRowAdapter and ProjectedTuple classes do
reading value from delegate then do writing into ByteBuffer.
This causes unnecessary boxing/unboxing operation and various type validation.
Let's add a copy method to avoid this.
2. We enrich binary row with a virtual column (partition id for partition
awareness feature).
Unfortunately, we create a Map for a single virtual column each time we wrap a
row.
Let's do it once.
3. Every time we serialize such rows, we create an column type descriptor for
this virtual column in addition.
Let's cache the descriptor.
was:
1. Row serialization inside UpgradingRowAdapter and ProjectedTuple classes do
reading value from delegate then do writing into ByteBuffer.
This causes unnecessary boxing/unboxing operation and various type validation.
Let's add a copy method to avoid this.
2. We enrich binary row with a virtual column (partition id for partition
awareness feature).
Unfortunately, we create a Map for a single virtual column each time we wrap a
row.
Let's do it once.
3. Every time we serialize such rows, we create an column type descriptor for
this virtual column in addition.
Let's cache the descriptor.
> Sql. Optimize sql row serialization
> -----------------------------------
>
> Key: IGNITE-24976
> URL: https://issues.apache.org/jira/browse/IGNITE-24976
> Project: Ignite
> Issue Type: Improvement
> Components: sql
> Reporter: Andrey Mashenkov
> Assignee: Andrey Mashenkov
> Priority: Major
> Labels: ignite-3, performance
> Fix For: 3.1
>
> Time Spent: 10m
> Remaining Estimate: 0h
>
> 1. Row serialization inside UpgradingRowAdapter and ProjectedTuple classes do
> reading value from delegate then do writing into ByteBuffer.
> This causes unnecessary boxing/unboxing operation and various type validation.
> Let's add a copy method to avoid this.
> 2. We enrich binary row with a virtual column (partition id for partition
> awareness feature).
> Unfortunately, we create a Map for a single virtual column each time we wrap
> a row.
> Let's do it once.
> 3. Every time we serialize such rows, we create an column type descriptor for
> this virtual column in addition.
> Let's cache the descriptor.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)