Re: IGNITE-5655: Mixing binary string encodings in Ignite cluster

2017-09-11 Thread Dmitriy Setrakyan
Vova, generally agree, but why not also support per-cache (per-table) settings? On Mon, Sep 11, 2017 at 1:16 AM, Vladimir Ozerov wrote: > OK, here is implementation plan I propose: > 1) Add global character set configuration - > IgniteConfiguration.characterSet. Note, it

Re: IGNITE-5655: Mixing binary string encodings in Ignite cluster

2017-09-11 Thread Vladimir Ozerov
OK, here is implementation plan I propose: 1) Add global character set configuration - IgniteConfiguration.characterSet. Note, it is located in IgniteConfiguration, not BinaryConfiguration. 2) All cluster nodes must have the same character set. 3) Once defined, character set cannot be changed

Re: IGNITE-5655: Mixing binary string encodings in Ignite cluster

2017-09-11 Thread Vladimir Ozerov
Dima, You contradict yourself - vote for per-column encoding on the one hand, but telling that it is "over-architected" on the other. This is exactly what I am talking about - anything more that hard-coded cluster-wide encoding is complex. You cannot simply define per-column encoding. In addition

Re: IGNITE-5655: Mixing binary string encodings in Ignite cluster

2017-09-06 Thread Dmitriy Setrakyan
I would agree with Andrey, it does look a bit over-architected to me. Why would anyone try to move data from one encoding to another? Is it a real use case that needs to be handled automatically? Here is what I think we should handle: 1. Ability to set cluster-wide encoding. This should be

Re: IGNITE-5655: Mixing binary string encodings in Ignite cluster

2017-09-06 Thread Vladimir Ozerov
What we tried to achieve is that several encoding could co-exist in a single cluster or even single cache. This would be great from UX perspective. However, from what Andrey wrote, I understand that this would be pretty hard to achieve as we rely heavily on similar binary representation of objects

Re: IGNITE-5655: Mixing binary string encodings in Ignite cluster

2017-09-05 Thread Dmitriy Setrakyan
Can we just detect the encoding at cache, or at least column level? This way if the encoding does not match, we throw an exception immediately. Will it work? D. On Tue, Sep 5, 2017 at 9:16 AM, Andrey Kuznetsov wrote: > Hi Igniters! > > I met a couple of issues related to

IGNITE-5655: Mixing binary string encodings in Ignite cluster

2017-09-05 Thread Andrey Kuznetsov
Hi Igniters! I met a couple of issues related to different binary string encoding settings on different cluster nodes. Let cluster has two nodes. Node0 uses win-1251 to marshal strings with BinaryMarshaller and Node1 uses default utf-8 encoding. Let's create replicated cache and add some entry