You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@ignite.apache.org by "Igor Sapego (JIRA)" <ji...@apache.org> on 2016/05/16 14:40:12 UTC

[jira] [Commented] (IGNITE-3140) C++: UTF-16 surrogate symbols are not serialized properly

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

Igor Sapego commented on IGNITE-3140:
-------------------------------------

We do not deal with the UTF-16 in C++ code. We expect user to provide us strings in a valid UTF-8 format.
Added test with malformed UTF-8 string where we are expecting an exception.

> C++: UTF-16 surrogate symbols are not serialized properly
> ---------------------------------------------------------
>
>                 Key: IGNITE-3140
>                 URL: https://issues.apache.org/jira/browse/IGNITE-3140
>             Project: Ignite
>          Issue Type: Bug
>          Components: platforms
>    Affects Versions: 1.5.0.final
>            Reporter: Denis Magda
>            Assignee: Igor Sapego
>             Fix For: 1.6
>
>
> There is an issue with serialization of a surrogate symbol with {{BinaryMarshaller}}. On Java side String's serialization logic was improved to support all the cases. Refer to IGNITE-3098.
> C++ serialization logic has to be updated as well. Please refer to the algorithm located in ignite-3098 branch in the following places:
> - {{BinaryUtils.utf8BytesToStr}} - serialization
> - {{BinaryUtils.strToUtf8Bytes}} - deserialization
> - {{IgniteSystemProperties.IGNITE_BINARY_MARSHALLER_USE_STRING_SERIALIZATION_VER_2}} controls which version of serialization logic to use (old or new).



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)