Hi Stepan,

pls check the Ignite cfg you use - see the comments in the jira.

Also, the examples executors (including AuthTlsExample) are included into NodeJS test suite in TeamCity which run periodically and successfully passed. Eg. the latest one: https://ci.ignite.apache.org/viewLog.html?buildId=2426645&tab=buildResultsDiv&buildTypeId=IgniteTests24Java8_ThinClientNodeJs

Regards,
-Alexey

28.11.2018 17:08, Stepan Pilschikov пишет:
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











Reply via email to