[ 
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)

Reply via email to