You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@ignite.apache.org by "Vladimir Ozerov (JIRA)" <ji...@apache.org> on 2017/09/29 13:17:01 UTC

[jira] [Commented] (IGNITE-5655) Introduce pluggable string encoder/decoder

    [ https://issues.apache.org/jira/browse/IGNITE-5655?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16185807#comment-16185807 ] 

Vladimir Ozerov commented on IGNITE-5655:
-----------------------------------------

[~andrey-kuznetsov], I'll have a look thanks. 

Meanwhile I'd like to move it AI 2.4. We haven't merged a single fix to binary protocol for many months so far. Mainly because we added a lot of other platforms and clients, and persistence. So every protocol change require cooperation of many contributors. I am in the process of preparing separate WIKI page with all protocol-related changes [1]. Once ready I will start a new thread on the dev list where I'd like to discuss on how to manage such changes - either through a single ticket or multiple tickets; whether every change should be propagated to all platforms/clients in a single version, or it is possible to spread them between versions (e.g. Java part in 2.3, .NET in 2.4, etc). Once we agree on the process, we will try doing our best to accumulate all the changes in 2.4 version.

[1] https://cwiki.apache.org/confluence/display/IGNITE/IEP-2%3A+Binary+object+format+improvements

> Introduce pluggable string encoder/decoder
> ------------------------------------------
>
>                 Key: IGNITE-5655
>                 URL: https://issues.apache.org/jira/browse/IGNITE-5655
>             Project: Ignite
>          Issue Type: New Feature
>          Components: binary
>    Affects Versions: 2.0
>            Reporter: Valentin Kulichenko
>            Assignee: Andrey Kuznetsov
>              Labels: iep-2, important
>             Fix For: 2.3
>
>
> Currently binary marshaller encodes strings in UTF-8. However, sometimes it makes sense to serialize strings with different encodings to save space. Let's add global property to control String encoding and customize our binary protocol to support it. For instance, we can add another flag {{ENCODED_STRING}}, which will write strings as follows:
> [flag][encoding_flag][str_len][str_bytes]
> First implementation should set preferred encoding for strings in BinaryConfiguration. This setting is optional, default encoding is UTF-8. Currently, the same BinaryConfiguration is used for all cluster nodes, thus no encoding clashes are possible.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)