[ 
https://issues.apache.org/jira/browse/IGNITE-16152?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Pavel Tupitsyn updated IGNITE-16152:
------------------------------------
    Description: 
Thin client protocol is schema-aware, but the known schema is thrown away on 
the server after deserialization, and Table API has to match it against schemas 
again.

*SchemaAware* interface can be used to preserve known schema when passing 
tuples to the Table API (see how TupleMarshallerImpl checks for SchemaAware).

*Example: table.Upsert(Tuple t)*

# Client: match user tuple to schema, serialize with schema version, send to 
server
# Server: read schema version, read tuple data, create Tuple, throw away schema 
version, pass to Table API
# Server: match tuple to schema


  was:
Thin client protocol is schema-aware, but the known schema is thrown away on 
the server after deserialization, and Table API has to match it against schemas 
again.

Investigate if we can gain performance by preserving known schema using 
*SchemaAware* interface.

*Example: table.Upsert(Tuple t)*

# Client: match user tuple to schema, serialize with schema version, send to 
server
# Server: read schema version, read tuple data, create Tuple, throw away schema 
version, pass to Table API
# Server: match tuple to schema



> Thin 3.0: Optimize server-side Tuple handling using known schema version
> ------------------------------------------------------------------------
>
>                 Key: IGNITE-16152
>                 URL: https://issues.apache.org/jira/browse/IGNITE-16152
>             Project: Ignite
>          Issue Type: Improvement
>          Components: thin client
>    Affects Versions: 3.0.0-alpha3
>            Reporter: Pavel Tupitsyn
>            Assignee: Pavel Tupitsyn
>            Priority: Major
>              Labels: ignite-3
>             Fix For: 3.0.0-alpha4
>
>
> Thin client protocol is schema-aware, but the known schema is thrown away on 
> the server after deserialization, and Table API has to match it against 
> schemas again.
> *SchemaAware* interface can be used to preserve known schema when passing 
> tuples to the Table API (see how TupleMarshallerImpl checks for SchemaAware).
> *Example: table.Upsert(Tuple t)*
> # Client: match user tuple to schema, serialize with schema version, send to 
> server
> # Server: read schema version, read tuple data, create Tuple, throw away 
> schema version, pass to Table API
> # Server: match tuple to schema



--
This message was sent by Atlassian Jira
(v8.20.1#820001)

Reply via email to