Hello again If NodeJS sources found that example AuthTlsExample.js throwing exception during execution Output and grid configuration in https://issues.apache.org/jira/browse/IGNITE-10447
Can someone have a look at it? вс, 25 нояб. 2018 г. в 19:11, Stepan Pilschikov <pilshchikov....@gmail.com>: > My bad, > You right > > вс, 25 нояб. 2018 г. в 05:37, Dmitry Melnichuk < > dmitry.melnic...@nobitlost.com>: > >> Stepan, >> >> AFAIK Map type did always behave correctly on client side, as it does >> now. This is a corresponding piece of my test suite: >> >> ``` >> def test_put_get_map(client): >> >> cache = client.get_or_create_cache('test_map_cache') >> >> cache.put( >> 'test_map', >> ( >> MapObject.HASH_MAP, >> { >> (123, IntObject): 'test_data', >> 456: ((1, [456, 'inner_test_string', 789]), >> CollectionObject), >> 'test_key': 32.4, >> } >> ), >> value_hint=MapObject >> ) >> value = cache.get('test_map') >> assert value == (MapObject.HASH_MAP, { >> 123: 'test_data', >> 456: (1, [456, 'inner_test_string', 789]), >> 'test_key': 32.4, >> }) >> >> ``` >> >> Or is there another, more specific problem with maps? >> >> Dmitry >> >> On 11/25/18 3:56 AM, Stepan Pilschikov wrote: >> > Dmitry, >> > >> > Great, checked, now all things woks well >> > Hope that Igor made review for this PR >> > >> > But what about Maps? Looks like different ticket? or it can be done in >> same >> > ticket scope? >> > >> > пт, 23 нояб. 2018 г. в 23:58, Dmitry Melnichuk < >> > dmitry.melnic...@nobitlost.com>: >> > >> >> Stepan, >> >> >> >> Sorry, I forgot to update from upstream prior to start working on this >> >> issue, and thus brought a regression. My bad. Just merged with the >> >> latest master. Please, check it out again. >> >> >> >> Dmitry >> >> >> >> On 11/24/18 1:37 AM, Stepan Pilschikov wrote: >> >>> Dmitry, >> >>> >> >>> Iv checked and its actually work >> >>> But a specially in this branch i found another bug >> >>> Please look at my last comment: >> >>> >> >> >> https://issues.apache.org/jira/browse/IGNITE-10358?focusedCommentId=16697285&page=com.atlassian.jira.plugin.system.issuetabpanels%3Acomment-tabpanel#comment-16697285 >> >>> >> >>> пт, 23 нояб. 2018 г. в 01:21, Dmitry Melnichuk < >> >>> dmitry.melnic...@nobitlost.com>: >> >>> >> >>>> Stepan, >> >>>> >> >>>> Thank you for your great job in evaluating Python thin client, as >> well >> >>>> as other thin clients. >> >>>> >> >>>> There was indeed a bug in Python client regarding the handling of >> type >> >>>> hints in Collection type. I created a fix and did a PR under >> >>>> IGNITE-10358 task, but the same PR is also fixes the problem in >> >>>> IGNITE-10230 task. >> >>>> >> >>>> As of handling the type mapping in gists you provided, I left >> comments >> >>>> on both tasks. >> >>>> >> >>>> Dmitry >> >>>> >> >>>> On 11/21/18 6:37 PM, Stepan Pilschikov wrote: >> >>>>> Dmitry, Alexey >> >>>>> >> >>>>> Thank you for help, this answers help me a lot with understanding >> how >> >>>>> clients are work >> >>>>> >> >>>>> Not so long time ago i met problem which is have expected behavior, >> but >> >>>> its >> >>>>> may broke some workflows in future for some users >> >>>>> >> >>>>> Its all about not specified data types in collections and map's >> >>>>> All description and examples in >> >>>>> https://issues.apache.org/jira/browse/IGNITE-10358 >> >>>>> >> >>>>> Dmitry, can you have a quick look at it and maybe in future somehow >> fix >> >>>> it? >> >>>>> >> >>>>> пт, 26 окт. 2018 г. в 19:05, Dmitry Melnichuk < >> >>>>> dmitry.melnic...@nobitlost.com>: >> >>>>> >> >>>>>> Stepan! >> >>>>>> >> >>>>>> TL/DR: what you got with Python client in your gist is an intended >> >>>>>> behavior. >> >>>>>> >> >>>>>> Explanation: As per docs, Object array contains of type ID (which >> is >> >>>>>> defaults to -1) and an array of objects. >> >>>>>> >> >>>>>> >> >>>>>> >> >>>> >> >> >> https://apacheignite.readme.io/docs/binary-client-protocol-data-format#section-object-array >> >>>>>> >> >>>>>> Your gist might be fixed accordingly: >> >>>>>> >> >>>>>> ``` >> >>>>>> from pyignite import Client >> >>>>>> from pyignite.datatypes import * >> >>>>>> >> >>>>>> OBJECT_ARRAY_TYPE_ID = -1 >> >>>>>> OBJECT_ARRAY_CONTENTS = [1, 2] >> >>>>>> >> >>>>>> client = Client() >> >>>>>> client.connect('127.0.0.1', 10800) >> >>>>>> cache = client.get_or_create_cache("PY_OBJECT_ARRAY") >> >>>>>> cache.put( >> >>>>>> 1, >> >>>>>> (OBJECT_ARRAY_TYPE_ID, OBJECT_ARRAY_CONTENTS), >> >>>>>> key_hint=IntObject, >> >>>>>> value_hint=ObjectArrayObject, >> >>>>>> ) >> >>>>>> >> >>>>>> # Python output: print(cache.get(1)) >> >>>>>> # (-1, [1, 2]) >> >>>>>> ``` >> >>>>>> >> >>>>>> The situation is similar with Map and Collection, they have types. >> >> Types >> >>>>>> and type IDs are mostly useless in Python, but I left them for >> >>>>>> interoperability reasons. If you think I should kick them out, just >> >> let >> >>>>>> me know. >> >>>>>> >> >>>>>> The usage of these 3 data types is documented and tested. You can >> >> refer >> >>>>>> to the table in “Data types” section: >> >>>>>> >> >>>>>> >> >>>>>> >> >>>> >> >> >> https://apache-ignite-binary-protocol-client.readthedocs.io/en/latest/datatypes/parsers.html >> >>>>>> >> >>>>>> The tests are here: >> >>>>>> >> >>>>>> >> >>>>>> >> >>>> >> >> >> https://github.com/apache/ignite/blob/master/modules/platforms/python/tests/test_datatypes.py#L116-L124 >> >>>>>> >> >>>>>> On 10/26/18 11:57 PM, Stepan Pilschikov wrote: >> >>>>>>> Hi, everyone >> >>>>>>> >> >>>>>>> Create new thread to centralize cross compatibility and others >> common >> >>>>>>> problems between thin clients >> >>>>>>> >> >>>>>>> Tying to use Object array to exchange different data between JS, >> PHP >> >>>> and >> >>>>>>> Python thin clients >> >>>>>>> >> >>>>>>> JS and PHP simply can't put any type of arrays >> >>>>>>> Python can put data, but if you take it, data would be completely >> >>>>>>> different, maybe during this put process data is changed >> >>>>>>> >> >>>>>>> Code and output: >> >>>>>>> PHP - >> >>>>>> >> https://gist.github.com/pilshchikov/e887d31d4f2f36923470fead14c7801a >> >>>>>>> JS - >> >>>>>> >> https://gist.github.com/pilshchikov/ba49067fd8924ebdf4414ec63838b86d >> >>>>>>> Python - >> >>>>>>> >> https://gist.github.com/pilshchikov/f4bbf76e31547e2dca7d4cc5d55bd24f >> >>>>>>> >> >>>>>>> I'm tried different data types (string, double, float, complex >> >> objects, >> >>>>>>> just random objects, char, byte, Date), still >> >>>>>>> >> >>>>>>> How, from my perspective, it should works: >> >>>>>>> put array of any type and then get this array. >> >>>>>>> Example: put [1,2,3] -> get [1,2,3] or put [new Date(), new >> Date()] >> >> -> >> >>>>>>> get [[Date object], [Date object]] (like in java thin client) >> >>>>>>> >> >>>>>>> Looks like bug in all clients, what you think? >> >>>>>>> >> >>>>>>> I wanted to try Collections, but i think this type have same >> problem >> >>>>>> >> >>>>> >> >>>> >> >>>> >> >>> >> >> >> >> >> > >> >>