You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@ignite.apache.org by "Ivan Bessonov (Jira)" <ji...@apache.org> on 2023/05/11 07:21:00 UTC

[jira] [Updated] (IGNITE-19451) Don't marshal binary tuples or binary rows

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

Ivan Bessonov updated IGNITE-19451:
-----------------------------------
    Description: 
Messages like {{org.apache.ignite.internal.table.distributed.replication.request.ScanRetrieveBatchReplicaRequest}} declare tuples/rows as marshalable objects.

This is bad for the footprint size - every tuple also encodes its schema, which makes the payload orders of magnitude bigger than it should be. We need to provide alternative transferable classes and refactor existing messages.

 

It would also be nice to have benchmarks, so that we could check the before/after difference. There's already org.apache.ignite.internal.network.SerializationMicroBenchmark, but it's for UOS specifically, we should probably do something analogous, with the ability to customize message type

  was:
Messages like {{org.apache.ignite.internal.table.distributed.replication.request.ScanRetrieveBatchReplicaRequest}} declare tuples/rows as marshalable objects.

This is bad for the footprint size - every tuple also encodes its schema, which makes the payload orders of magnitude bigger than it should be. We need to provide alternative transferable classes and refactor existing messages.


> Don't marshal binary tuples or binary rows
> ------------------------------------------
>
>                 Key: IGNITE-19451
>                 URL: https://issues.apache.org/jira/browse/IGNITE-19451
>             Project: Ignite
>          Issue Type: Improvement
>            Reporter: Ivan Bessonov
>            Priority: Major
>              Labels: ignite-3
>
> Messages like {{org.apache.ignite.internal.table.distributed.replication.request.ScanRetrieveBatchReplicaRequest}} declare tuples/rows as marshalable objects.
> This is bad for the footprint size - every tuple also encodes its schema, which makes the payload orders of magnitude bigger than it should be. We need to provide alternative transferable classes and refactor existing messages.
>  
> It would also be nice to have benchmarks, so that we could check the before/after difference. There's already org.apache.ignite.internal.network.SerializationMicroBenchmark, but it's for UOS specifically, we should probably do something analogous, with the ability to customize message type



--
This message was sent by Atlassian Jira
(v8.20.10#820010)