Re: Python thin client

2018-10-20 Thread Stepan Pilschikov
Oh, nice Thanks for quick response I've check against JS and PHP, now its works properly Igor, can you approve this patch? сб, 20 окт. 2018 г. в 0:57, Dmitry Melnichuk : > Stepan, > > My bad. I got the Decimal part of Ignite thin client protocol > specification totally wrong. > > Just

Re: Python thin client

2018-10-19 Thread Dmitry Melnichuk
Stepan, My bad. I got the Decimal part of Ignite thin client protocol specification totally wrong. Just submitted a patch tested against Java thin client. Please evaluate. On 10/20/18 2:00 AM, Stepan Pilschikov wrote: Dmitry, One more thing Discover that Decimal data type can't be getting

Re: Python thin client

2018-10-19 Thread Stepan Pilschikov
Dmitry, One more thing Discover that Decimal data type can't be getting by others clients Make ticket with description: https://issues.apache.org/jira/browse/IGNITE-9950 Please, can you help to investigate this problem? ср, 17 окт. 2018 г. в 23:14, Stepan Pilschikov : > Dmitry, > > Great, now

Re: Python thin client

2018-10-17 Thread Stepan Pilschikov
Dmitry, Great, now client works properly on all OS Thanks I hope PR will be merged soon Igor, can please help with that? ср, 17 окт. 2018 г. в 20:48, Dmitry Melnichuk < dmitry.melnic...@nobitlost.com>: > Stepan, > > Sadly, it was a C `long` data type size mismatch between Windows and > other

Re: Python thin client

2018-10-17 Thread Dmitry Melnichuk
Stepan, Sadly, it was a C `long` data type size mismatch between Windows and other OSes. I investigated this issue and offered a pull request. https://github.com/apache/ignite/pull/5017 On 10/17/18 6:29 PM, Stepan Pilschikov wrote: Dmitry, I've trying to use python thin client with Ignite

Re: Python thin client

2018-10-17 Thread Stepan Pilschikov
Dmitry, I've trying to use python thin client with Ignite 2.7 it dosn't work Please help to investigate Problem reproduced on several others machines Issue: https://issues.apache.org/jira/browse/IGNITE-9908 вт, 16 окт. 2018 г. в 4:36, Dmitry Melnichuk : > Igor, > > I do not have access to edit

Re: Python thin client

2018-10-15 Thread Dmitry Melnichuk
Igor, I do not have access to edit wiki pages, so please fill it. All the features are supported, except for: - Query API: ScanQuery with filter, - Binary API: Get object in BinaryObject form, BinaryObject building, - Additional Features: Best effort affinity, - Type registration: Enum

Re: Python thin client

2018-10-15 Thread Igor Sapego
Dmitry, Since Python thin client is now in master, can you please add it to our "Thin clients features" wiki page, so we can track the feature parity of our clients? Or just tell me which features are supported, so I can fill it myself. [1] -

Re: Python thin client

2018-10-15 Thread Igor Sapego
Hi, I've just merged Python thin client to the master and ignite-2.7 Also, I like how the python's results improved and now are comparable to node.js. Great job, guys! Best Regards, Igor On Sat, Oct 13, 2018 at 3:53 PM Степан Пильщиков wrote: > Hi > > Made new run and client definitely

Re: Python thin client

2018-10-13 Thread Степан Пильщиков
Hi Made new run and client definitely become faster I think its right direction for improvements Also rerun java bench with compiler=none option All results you can get in https://issues.apache.org/jira/browse/IGNITE-9824 (last comment) сб, 13 окт. 2018 г. в 4:56, Pavel Petroshenko : > Hi

Re: Python thin client

2018-10-12 Thread Pavel Petroshenko
Hi Stepan, Re your performance questions. Firstly, please pull out the latest sources from the ignite-7782 branch as it has some performance optimizations recently implemented. Secondly, Hotspot is a pretty advanced dynamic adaptive compiler and it's not fair to compare it to a purely

Re: Python thin client

2018-10-12 Thread Dmitry Melnichuk
Igor, I fixed my files. Dmitry On 10/13/18 12:14 AM, Igor Sapego wrote: Dmitry, I've run the tests and it appears that there are a lot of files without Apache licenses in Python client: [1] (See Unapproved licenses list). Can you either add headers or exclude file from the check, if you can

Re: Python thin client

2018-10-12 Thread Igor Sapego
Dmitry, I've run the tests and it appears that there are a lot of files without Apache licenses in Python client: [1] (See Unapproved licenses list). Can you either add headers or exclude file from the check, if you can not add one? I.e. to this list: [2] [1] -

Re: Python thin client

2018-10-11 Thread Igor Sapego
Ok, I've filed a ticket [1] for the performance investigation and targeted it to 2.8. Feel free to assign it to yourself. I'm going to merge the ticket to master and ignite-2.7 branches by the end of the week, if no one have any objections. [1] - https://issues.apache.org/jira/browse/IGNITE-9850

Re: Python thin client

2018-10-11 Thread Dmitry Melnichuk
Stepan, Thank you for answering my question and for the updated results. I have ran the profiler (cProfile) against the benchmark code you provided and have not found any particular bottleneck. One cycle took me 434 μs, which is the same order of magnitude as your result. I will need more

Re: Python thin client

2018-10-11 Thread Степан Пильщиков
Dmitry, pip install -e from latest sources On Thu, 11 Oct 2018, 06:37 Dmitry Melnichuk, wrote: > Stepan! > > Please tell me one thing about how you created the environment for your > benchmarks, namely: how did you install the Python client. Did you just > do `pip install pyignite`, or did you

Re: Python thin client

2018-10-10 Thread Dmitry Melnichuk
Stepan! Please tell me one thing about how you created the environment for your benchmarks, namely: how did you install the Python client. Did you just do `pip install pyignite`, or did you pull my working branch from the downstream repository and did `pip install -e

Re: Python thin client

2018-10-10 Thread Степан Пильщиков
Dmitry, Thanks for review Agree with all suggestions. Made and run new benches without any redundant operations (prints, time calculation), only with "put" in "while true" cycle (almost) Case description, environment, results and code in ticket https://issues.apache.org/jira/browse/IGNITE-9824

Re: Python thin client

2018-10-10 Thread Dmitry Melnichuk
Stepan! Can you please update the benchmarks based on my suggestions earlier in this thread: use a cleaner time profiling for the loop, remove unnecessary operations (string formatting, rounding operations), stick to the primitive int value for put operations (agree with Vladimir, let's keep

Re: Python thin client

2018-10-10 Thread Vladimir Ozerov
Hi Dmitry, I agree with your comments on benchmarking code. As more fair alternative we may measure time of loading N elements into the cache, so that it will be necessary to call time() only twice. However, provided that we have real network here, and according to numbers one PUT in Python

Re: Python thin client

2018-10-10 Thread Dmitry Melnichuk
Hi, Stepan! I looked at the benchmark code and the overall methodics, discussed it with fellow programmers, and came up with basically two remarks. First of all, I think, the key for the good (or, at least, unobjectionable) measurement is to isolate the object being measured from the

Re: Python thin client

2018-10-09 Thread Stepan Pilshchikov
Hi, all Tried to compare new thin client performance and made similar benchmarks for each one And result not so good for python Ticket with results and bench code: https://issues.apache.org/jira/browse/IGNITE-9824 Py code src: https://gist.github.com/pilshchikov/8aff4e30d83f8bac20c5a4a9c3917abb

Re: Python thin client installation instructions

2018-09-21 Thread Prachi Garg
Yes, I will mention the prerequisites. -Prachi > On Sep 21, 2018, at 5:18 PM, Denis Magda wrote: > > I would add a disclaimer or a prerequisite step. That what other companies > do if a user needs to do some basic installation steps. At least mention it. > > -- > Denis > >> On Fri, Sep 21,

Re: Python thin client installation instructions

2018-09-21 Thread Denis Magda
I would add a disclaimer or a prerequisite step. That what other companies do if a user needs to do some basic installation steps. At least mention it. -- Denis On Fri, Sep 21, 2018 at 3:04 PM Prachi Garg wrote: > Hi Dmitry, > > Thank you for taking the time to explain me everything in such

Re: Python thin client installation instructions

2018-09-21 Thread Prachi Garg
Hi Dmitry, Thank you for taking the time to explain me everything in such detail :) I am trying to do this because I have to document. In general, I am assuming that a Python thin client user would already have Python installed and be using it. So, I would not suggest adding any disclaimers

Re: Python thin client installation instructions

2018-09-20 Thread Dmitry Melnichuk
Prachi, I feel your struggle. It is easier for end user to perceive Python 2 and Python 3 as different languages, not as versions of one language. They usually installed alongside each other; their updates are handled separately. On most systems they have their respective shell commands:

Re: Python thin client installation instructions

2018-09-20 Thread Prachi Garg
Hi Dmitry, Sorry, I am not familiar with Python. So there are more issues... 1. The version on my mac remains 2.7.10 even though I tried to link to the new version. ~$ python --version Python 2.7.10 ~$ brew unlink python && brew link --overwrite python3 Unlinking

Re: Python thin client installation instructions

2018-09-19 Thread Dmitry Melnichuk
Prachi, This line in your message > Requirement already satisfied: pyignite in > ./Downloads/ignite-python/modules/platforms/python (0.3.1) looks like you already did an installation of pyignite in this environment before (maybe with "pip install -e ") from 'Downloads' folder, then delete or

Re: Python thin client

2018-09-18 Thread Prachi Garg
Hi Dmitry, Not sure if you are aware but all documentation for the thin clients will be moved to readme.io. Here is the ticket for Python thin clients - https://issues.apache.org/jira/browse/IGNITE-9522 I am already working on it. So if you make any changes to the docs in your repo, please let

Re: Python thin client

2018-09-18 Thread Igor Sapego
Great job. Best Regards, Igor On Tue, Sep 18, 2018 at 11:35 AM Dmitry Melnichuk < dmitry.melnic...@nobitlost.com> wrote: > Igor, > > All examples are in 'ignite/modules/platforms/python/examples'. > > I put examples in separate Python files mostly to be able to > automatically confirm their

Re: Python thin client

2018-09-18 Thread Dmitry Melnichuk
Igor, All examples are in 'ignite/modules/platforms/python/examples'. I put examples in separate Python files mostly to be able to automatically confirm their operability. All the lengthy explanations and cross-references are in the main documentation:

Re: Python thin client

2018-09-17 Thread Igor Sapego
Dmitry, Sorry, I was not clear enough. What I mean is that Ignite distributed by both source and binary releases. Binary releases contain platforms code, which is needed to write your own application in the language, but does not contain developer stuff, such as tests, documentation generating

Re: Python thin client

2018-09-14 Thread Dmitry Melnichuk
Igor, I am in doubt here because I am not fully comprehend the meaning of "binary release". But if it is somehow related to the "distribution" thing, I would dare to suggest the following options: 1. Copy nothing. Just do ``` $ python setup.py bdist_wheel $ twine upload dist/* ``` during

Re: Python thin client

2018-09-14 Thread Igor Sapego
Ok, good. Now, what is about installation? Which directories/files need to be copied to ignite's binary release? Best Regards, Igor On Fri, Sep 14, 2018 at 4:51 AM Dmitry Melnichuk < dmitry.melnic...@nobitlost.com> wrote: > Igor, > > The commented code (lines 95-96) gives an error if

Re: Python thin client

2018-09-13 Thread Dmitry Melnichuk
Igor, The commented code (lines 95-96) gives an error if executed. The error is stated just below, in lines 98-100. It is explained here: https://apache-ignite-binary-protocol-client.readthedocs.io/en/latest/examples.html#create I found out by trial and error that a cache, created with SQL

Re: Python thin client

2018-09-13 Thread Igor Sapego
Ok, now everything's running. API looks good to me. I have a single question about example code: What these comments are for - [1]? [1] - https://github.com/nobitlost/ignite/blob/ignite-7782/modules/platforms/python/examples/create_binary.py#L95 Best Regards, Igor On Thu, Sep 13, 2018 at

Re: Python thin client

2018-09-12 Thread Dmitry Melnichuk
Igor, Yes, it's my bad, sorry. Just merged the Ignite master with my branch. On 9/12/18 8:47 PM, Igor Sapego wrote: Pavel, Yes, I did. I tried completely clean environment, followed the same steps and got the same error. Then I removed attr, and out of sudden everything started working.

Re: Python thin client

2018-09-12 Thread Igor Sapego
Pavel, Yes, I did. I tried completely clean environment, followed the same steps and got the same error. Then I removed attr, and out of sudden everything started working. Dmitry, Thanks, now it's more clear: Handshake error: Unsupported version. Server expects binary protocol version 1.1.0.

Re: Python thin client

2018-09-11 Thread Dmitry Melnichuk
Igor, I have just commited an improvment to the HandshakeError message generation algorithm. I hope it is now easier to understand what expects what in case of binary protocol version mismatch. Thank you for pointing this out. On 9/12/18 2:13 AM, Igor Sapego wrote: I managed to start

Re: Python thin client

2018-09-11 Thread Pavel Petroshenko
Hi Igor, Did you have to do anything special to make the tests eventually run? p. On Tue, Sep 11, 2018 at 9:13 AM, Igor Sapego wrote: > I managed to start tests, and now I'm getting the following message: > > pyignite.exceptions.HandshakeError: Handshake error: Unsupported > version. Expected

Re: Python thin client

2018-09-11 Thread Igor Sapego
I managed to start tests, and now I'm getting the following message: pyignite.exceptions.HandshakeError: Handshake error: Unsupported version. Expected protocol version: 1.1.0. It would be useful to print "Unexpected version" itself, because I can not understand what is the issue. Best Regards,

Re: Python thin client

2018-09-11 Thread Dmitry Melnichuk
Igor, I literally followed the steps you describe, but unfortunately could not reproduce the error. The only clue I got is that your site-packages already have the newer version of attrs (18.2.0 against 18.1.0 as of pyignite requirements). But this should not be an issue, since

Re: Python thin client

2018-09-10 Thread Igor Sapego
Guys, I've cloned your repository, run pip3 install -e . then run pip3 install -r requirements/* over all the requirements, and finally run python ./setup.py pytest, but get the following output: running pytest Searching for attrs==18.1.0 Best match: attrs 18.1.0 Using

Re: Python thin client

2018-09-04 Thread Dmitriy Setrakyan
Got it, sounds good! On Tue, Sep 4, 2018 at 10:54 AM, Dmitry Melnichuk < dmitry.melnic...@nobitlost.com> wrote: > Dmitriy, > > It would be quite messy to implement with Python modular system. > > First of all, Python 2 and Python 3 are different languages with a small > common subset of syntax

Re: Python thin client

2018-09-04 Thread Dmitry Melnichuk
Dmitriy, It would be quite messy to implement with Python modular system. First of all, Python 2 and Python 3 are different languages with a small common subset of syntax rules. That's why what we see in a stack trace is a syntax error, and not a “missing feature” error. Second, there is no

Re: Python thin client

2018-09-04 Thread Dmitriy Setrakyan
Dmitriy, setuptools sounds like an installation step. Does it make sense to add a check during startup of a client? D. On Tue, Sep 4, 2018 at 7:25 AM, Dmitry Melnichuk < dmitry.melnic...@nobitlost.com> wrote: > Nikolay, > > There is indeed a feature in `setuptools` I just learned about, which

Re: Python thin client

2018-09-04 Thread Dmitry Melnichuk
Nikolay, There is indeed a feature in `setuptools` I just learned about, which would help in this case (and I believe the case you demonstrated can be quite typical, thank you for pointing it out). It gives user a clever message in the end of a stack trace like > UnsupportedPythonVersion:

Re: Python thin client

2018-09-04 Thread Nikolay Izhikov
Hello, Dmitry. I understand that for experienced Python developer it obvious from stack trace I send. But can we check python version on startup? And print big fat error message "You are using wrong python version". From my experience, there are some tickets in Ignite that should be

Re: Python thin client

2018-09-03 Thread Dmitry Melnichuk
Hello, Nikolay! Thank you for your interest in Python thin client. The traceback suggests that you using Python 2.7. Unfortunately, my client supports only Python versions 3.4 and later. Since you are using the latest Ubuntu OS, chances are you already have a recent Python 3 installed. Try

Re: Python thin client

2018-09-03 Thread Nikolay Izhikov
Hello, Dmitry. I tried to build your lib locally and it failed. Error message and pip version are below. Seems, we have to fix developer instructions. Do we need specific version of pip or something? I tried to use default versions. I using Ubuntu Linux.