UTF-8 is already a default encoding in our BinaryObject format. So.... I am
for unification.

пн, 13 дек. 2021 г. в 12:50, Nikolay Izhikov <nizhi...@apache.org>:

> Hello, Ivan.
>
> UTF-8 can’t encode all UNICODE characters.
>
> > 13 дек. 2021 г., в 12:49, Ivan Daschinsky <ivanda...@gmail.com>
> написал(а):
> >
> > Khm, maybe a better variant is  to enforce all strings to be encoded in
> > UTF-8?
> > AFAIK multi OS cluster is a quite common case.
> >
> >
> > пн, 13 дек. 2021 г. в 11:36, Mikhail Petrov <pmgheap....@gmail.com>:
> >
> >> Igniters,
> >>
> >> Recently we faced the problem that if the cluster consists of nodes
> >> running in the JVM with different encodings, many issues arise.
> >> The root cause of the mentioned issues is components that use
> >> `String#getBytes()` and `new String(<byte array>)`, which relies on the
> >> system default encoding. Thus, if a string is deserialized on a node
> >> with a different encoding from the one that serialized it, the
> >> deserialized string can be different from the original one.
> >>
> >> For example:
> >>
> >> Serialization/deserialization of string in communication messages may be
> >> broken for some strings on nodes running in a JVM with a different
> >> encoding as DirectByteBufferStreamImplV2 uses String#getBytes() to
> >> serialize strings - [1]
> >>
> >> Or the IgniteAuthenticationProcessor can compute different security IDs
> >> for the user on different nodes in this case - [2]
> >>
> >> What do you think, if we solve this problem globally, by rejecting to
> >> join nodes that run on JVMs with different encodings?
> >>
> >> As a result, we will be sure that all cluster nodes have the same
> >> encoding and all related problems will be solved.
> >>
> >> [1] - https://issues.apache.org/jira/browse/IGNITE-16106
> >> [2] - https://issues.apache.org/jira/browse/IGNITE-16068
> >>
> >> --
> >> Mikhail
> >>
> >>
> >
> > --
> > Sincerely yours, Ivan Daschinskiy
>
>

-- 
Sincerely yours, Ivan Daschinskiy

Reply via email to