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