[
https://issues.apache.org/jira/browse/IGNITE-19970?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Evgeny Stanilovsky updated IGNITE-19970:
----------------------------------------
Fix Version/s: 3.2
(was: 3.1)
> Java thin 3.0: Combine hashing with serialization
> -------------------------------------------------
>
> Key: IGNITE-19970
> URL: https://issues.apache.org/jira/browse/IGNITE-19970
> Project: Ignite
> Issue Type: Improvement
> Components: thin client
> Affects Versions: 3.0.0-beta1
> Reporter: Pavel Tupitsyn
> Assignee: Pavel Tupitsyn
> Priority: Minor
> Labels: ignite-3, perfomance
> Fix For: 3.2
>
>
> Currently, we calculate colocation hash separately (see
> [ClientTable.doSchemaOutInOpAsync|https://github.com/apache/ignite-3/blob/61d3b03382f34a5efd568fa6a2cb0f94c2722463/modules/client/src/main/java/org/apache/ignite/internal/client/table/ClientTable.java#L280]),
> and then serialize the data into *BinaryTuple*.
> This causes double work:
> * Extract columns from the user-provided object (POJO or Tuple)
> * Extract value bytes (for some types like strings) - expensive and allocates
> an array
> Instead, we can calculate the colocation hash while serializing the data into
> a *BinaryTuple*, like [the C# client
> does|https://github.com/apache/ignite-3/blob/main/modules/platforms/dotnet/Apache.Ignite/Internal/Proto/BinaryTuple/BinaryTupleBuilder.cs].
--
This message was sent by Atlassian Jira
(v8.20.10#820010)