Re: Writing binary [] to ignite via memcache binary protocol

2018-10-20 Thread Michael Fong
Hi, Thanks for pointing that out! I checked the code where BYTE_ARR_FLAG = (8 << 8) so I set flags = 2048 in my C client program - linking libmemcached library; so that Apache Ignite would recognize the SET value as byte array successfully. i.e. rc = memcached_set(connection, key2,

Re: Writing binary [] to ignite via memcache binary protocol

2018-10-18 Thread Ilya Kasnacheev
Hello! It will just take two first bytes from extras and turn them into a numeric variable. Later on, if flags & 0xff00 == 0x100b, then it is byte array, else it is string. You should find a way to make your implementation send '-128' as fourth byte (If I understand endianness correctly).

Re: Writing binary [] to ignite via memcache binary protocol

2018-10-18 Thread Michael Fong
Hi, Thanks for pointing out the mistake about the string data type. I used python3 which supports bytes type and run the test case. Ignite would seems still treat the received value as String type and would decode the data correctly. I would like to try with a some simple C client program and see

Re: Writing binary [] to ignite via memcache binary protocol

2018-10-17 Thread Павлухин Иван
Hi Michael, The troubles could be related to Python library. It seems in Python 2.7 there is no such thing as "byte array". And value passed to the client is string in this case. I checked that Ignite recognizes bytes array type and stores in as byte array internally. I did following experiment

Re: Writing binary [] to ignite via memcache binary protocol

2018-10-17 Thread Павлухин Иван
Hi Michael, Answering one of your questions. > Does ignite internally have a way to store the data type when cache entry is stored? Yes, internally Ignite maintains data types for stored keys and values. Could you confirm that for real memcached your example works as expected? I will try

Re: Writing binary [] to ignite via memcache binary protocol

2018-10-16 Thread Michael Fong
bump :) Could anyone please help to answer a newbie question? Thanks in advance! On Mon, Oct 15, 2018 at 4:22 PM Michael Fong wrote: > Hi, > > I kind of able to reproduce it with a small python script > > import pylibmc > > client = pylibmc.Client (["127.0.0.1:11211"], binary=True) > > > ##abc

Re: Writing binary [] to ignite via memcache binary protocol

2018-10-15 Thread Michael Fong
Hi, I kind of able to reproduce it with a small python script import pylibmc client = pylibmc.Client (["127.0.0.1:11211"], binary=True) ##abc val = "abcd".decode("hex") client.set("pyBin1", val) print "val decode w/ iso-8859-1: %s" % val.encode("hex") get_val = client.get("pyBin1") print

Re: Writing binary [] to ignite via memcache binary protocol

2018-10-10 Thread Michael Fong
Hi, We have a libmemcached (C) client to write pure binary[] to Ignite and another Java client to read from it. We suspect Ignite stores it as String(UTF-8), perhaps related IGNITE-7028 - even from the packet dump, the data type is raw bytes (0) As the workaround, we modified the code a bit to

Re: Writing binary [] to ignite via memcache binary protocol

2018-10-04 Thread Maxim.Pudov
Hi, it looks strange to me. Do you have a reproducer? -- Sent from: http://apache-ignite-users.70518.x6.nabble.com/

Writing binary [] to ignite via memcache binary protocol

2018-10-03 Thread Michael Fong
Hi, all, New user to Ignite here. We are evaluating the possibility to replace memcached w/ Apache Ignite (v2.6). We notice recently that when we set a byte[] using net.spy.memcached client, and it seems sometimes the type of cache Object in Ignite is somehow set as String. Thus, when we get