Re: Python, Node.JS & PHP for 2.7.5

2019-06-26 Thread Pavel Petroshenko
Hi Denis,

Here are the links to the instructions on how to release new versions for
the clients: Python - [1], Node.JS - [2], PHP - [3].

[1]
http://apache-ignite-developers.2346864.n4.nabble.com/RESULT-VOTE-Apache-Ignite-2-7-0-Release-RC2-tt38862.html#a39339
[2]
https://github.com/nobitlost/ignite/tree/ignite--docs/modules/platforms/nodejs#publish-ignite-nodejs-client-on-npmjscom-instruction
[3]
https://github.com/nobitlost/ignite/tree/ignite-7783-docs/modules/platforms/php#release-the-client-in-the-php-package-repository-instruction

Regards,
Pavel

On Tue, Jun 25, 2019 at 2:54 PM Denis Magda  wrote:

> Dmitry, thanks for starting the conversation.
>
> Generally speaking, there are two outstanding items:
>
>- Npm (NodeJS), pip (Python) and composer (PHP) update instructions
>need to be added to the release process page. Nuget (.NET) is a good
>reference [1]. @Alexey Kosenchuk , @Pavel
>Petroshenko  could you please help with this? I
>have a feeling you shared this instruction before, but it might have been
>lost in dev list archives. Apologize for that.
>- Python, NodeJS and PHP API Docs need to be uploaded to Ignite
>website for every release the way similar to languages like Java [2] or C++
>[3]
>
> As for the current release, have we ensured that the thin clients that are
> already uploaded to npm, pip, and composer would work with 2.7.5? If the
> answer is positive, then, yes, let's skip this test. Going forward, we'll
> discuss decoupling of thin clients and the core.
>
>
> [1]
> https://cwiki.apache.org/confluence/display/IGNITE/Release+Process#ReleaseProcess-6.3.13.UploadNuGetpackagestonuget.org
> [2] https://ignite.apache.org/releases/latest/javadoc/index.html
> [3] https://ignite.apache.org/releases/latest/cppdoc/index.html
>
>
> -
> Denis
>
>
> On Tue, Jun 25, 2019 at 10:12 AM Igor Sapego  wrote:
>
>> Ilya,
>>
>> Examples are not part of the packet. I can not see any other changes
>> in thin clients in question, so I don't think any actions are required for
>> this release.
>>
>> Dmitry,
>>
>> Well, yeah, they have separate versions. I believe, they should be
>> included
>> in our release process, just like a nuget for .net, but in this particular
>> case
>> no actions are required from us.
>>
>> Best Regards,
>> Igor
>>
>>
>> On Tue, Jun 25, 2019 at 4:52 PM Ilya Kasnacheev <
>> ilya.kasnach...@gmail.com>
>> wrote:
>>
>> > Hello!
>> >
>> > I remember that we have fixed Python examples being empty, so Python
>> should
>> > probably be re-released.
>> >
>> > Regards,
>> > --
>> > Ilya Kasnacheev
>> >
>> >
>> > вт, 25 июн. 2019 г. в 15:54, Dmitriy Pavlov :
>> >
>> > > Hi Igor,
>> > >
>> > > You can find the list here
>> > >
>> > >
>> >
>> https://cwiki.apache.org/confluence/display/IGNITE/Apache+Ignite+2.7.5#ApacheIgnite2.7.5-Resolvedtickets
>> > > Release notes:
>> > https://ignite.apache.org/releases/2.7.5/release_notes.html
>> > >
>> > > Are these clients released independently? and have their own version?
>> > >
>> > > Sincerely,
>> > > Dmitriy Pavlov
>> > >
>> > >
>> > > вт, 25 июн. 2019 г. в 15:28, Igor Sapego :
>> > >
>> > > > Dmitry, do you have a list of tickets for this release?
>> > > > I'm not sure if any client was changed and required a separate
>> release.
>> > > >
>> > > > Best Regards,
>> > > > Igor
>> > > >
>> > > >
>> > > > On Tue, Jun 25, 2019 at 10:47 AM Dmitriy Pavlov > >
>> > > > wrote:
>> > > >
>> > > > > Hi Igniters,
>> > > > >
>> > > > > Denis M. asked me if we should release some packages for thin
>> > clients.
>> > > Is
>> > > > > it released as part of Ignite? Alternatively, is it released in an
>> > > > > independent cycle?
>> > > > >
>> > > > > It is missed in
>> > > > >
>> https://cwiki.apache.org/confluence/display/IGNITE/Release+Process
>> > so
>> > > I
>> > > > > ask contributors or experts to provide some information on how to
>> > > release
>> > > > > it (in both cases if it is independent or not).
>> > > > >
>> > > > > 2.7.5 does not have huge API changes, so all clients should be
>> > > > compatible.
>> > > > >
>> > > > > Sincerely
>> > > > > Dmitriy Pavlov
>> > > > >
>> > > >
>> > >
>> >
>>
>


Re: Introducing Typescript for the Node.js Client

2019-01-24 Thread Pavel Petroshenko
Igor, I can give it a look.

Thomas, can you please create a Pull Request for your changes so that it's
easier to review and discuss them?

Thanks!

- p.


On Wed, Jan 23, 2019 at 2:19 AM Igor Sapego  wrote:

> Great job!
>
> Forwarding to devlist.
>
> Are there Node.js guys that can take a look?
>
> Best Regards,
> Igor
>
>
> On Tue, Jan 22, 2019 at 10:47 PM thavlik  >
> wrote:
>
> > https://github.com/thavlik/ignite/tree/master/modules/platforms/nodejs
> >
> > https://issues.apache.org/jira/browse/IGNITE-11032
> >
> > Please let me know if you have any issues with it. I've only put a couple
> > hours of work into this, but it already functions as a drop-in
> > replacement.
> >
> > Tom
> >
> > Mid Continent Controls, Inc.
> >
> >
> >
> > --
> > Sent from: http://apache-ignite-users.70518.x6.nabble.com/
> >
>


[jira] [Created] (IGNITE-10230) Putting collection of timestamps fails on python thin client

2018-11-12 Thread Pavel Petroshenko (JIRA)
Pavel Petroshenko created IGNITE-10230:
--

 Summary: Putting collection of timestamps fails on python thin 
client 
 Key: IGNITE-10230
 URL: https://issues.apache.org/jira/browse/IGNITE-10230
 Project: Ignite
  Issue Type: Task
  Components: thin client
Affects Versions: 2.6
Reporter: Pavel Petroshenko
Assignee: Dmitry Melnichuk
 Fix For: 2.8


Here's the test that fails: 
https://gist.github.com/pilshchikov/7434805b7d95973afe600e1c0c83d17a



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


Re: NodeJS thin client: full API

2018-10-24 Thread Pavel Petroshenko
Hi Igor,

Yes, it sounds reasonable, agree.

P.

On Wed, Oct 24, 2018 at 7:42 AM Igor Sapego  wrote:

> Pavel,
>
> Can we add a proper check and throw proper exception
> when trying to deserialize enum value? NPE does not say
> anything to a user.
>
> Best Regards,
> Igor
>
>
> On Wed, Oct 24, 2018 at 5:34 PM Pavel Petroshenko 
> wrote:
>
> > Hi Stepan,
> >
> > Nodejs and PHP clients do not support enum type registration (and hence
> no
> > tests). So enum type must be registered from somewhere else in order to
> be
> > put or get from the Thin clients.
> >
> > If you register the type say from Java, then put/get for Enum values
> should
> > work from the Thin clients. Can you please try this and let me know how
> it
> > works.
> >
> > Thanks,
> > p.
> >
> > On Tue, Oct 23, 2018 at 6:30 AM Stepan Pilshchikov <
> > pilshchikov@gmail.com> wrote:
> >
> > > Alexey,
> > >
> > > I'm trying to get Enum from cache which placed by different thin client
> > and
> > > find that i can't get it, only exception
> > >
> > > And more when im trying to get Enum which is placed by nodejs client i
> > also
> > > can't do it, have same exception
> > >
> > > code and output -
> > > https://gist.github.com/pilshchikov/ca9fda160e310f62dd4d1d6dbb2f904c
> > >
> > > Can you please help me to investigate it, maybe something im doing
> wrong,
> > > because its look like a bug
> > >
> > >
> > >
> > > --
> > > Sent from: http://apache-ignite-developers.2346864.n4.nabble.com/
> > >
> >
>


Re: NodeJS thin client: full API

2018-10-24 Thread Pavel Petroshenko
Hi Stepan,

Nodejs and PHP clients do not support enum type registration (and hence no
tests). So enum type must be registered from somewhere else in order to be
put or get from the Thin clients.

If you register the type say from Java, then put/get for Enum values should
work from the Thin clients. Can you please try this and let me know how it
works.

Thanks,
p.

On Tue, Oct 23, 2018 at 6:30 AM Stepan Pilshchikov <
pilshchikov@gmail.com> wrote:

> Alexey,
>
> I'm trying to get Enum from cache which placed by different thin client and
> find that i can't get it, only exception
>
> And more when im trying to get Enum which is placed by nodejs client i also
> can't do it, have same exception
>
> code and output -
> https://gist.github.com/pilshchikov/ca9fda160e310f62dd4d1d6dbb2f904c
>
> Can you please help me to investigate it, maybe something im doing wrong,
> because its look like a bug
>
>
>
> --
> Sent from: http://apache-ignite-developers.2346864.n4.nabble.com/
>


Re: PHP thin client

2018-10-21 Thread Pavel Petroshenko
Hi Stepan,

I submitted a patch and updated JIRA with some comments. Can you please
give it a try?

Thanks,
P.


On Fri, Oct 19, 2018 at 9:07 AM Stepan Pilschikov 
wrote:

> Alexey,
>
> Hi
>
> I'm trying to use PHP client for some times and discover one problem with
> DATA and TIMESTAMP data types
> I'ts appear when you trying to use DATA or TIMESTAMP as cache key
>
> All description in ticket:
> https://issues.apache.org/jira/browse/IGNITE-9951
>
> Can you help with that, please?
>
> чт, 11 окт. 2018 г. в 16:02, Igor Sapego :
>
> > Alexey,
> >
> > Since PHP 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?
> >
> > [1] -
> > https://cwiki.apache.org/confluence/display/IGNITE/Thin+clients+features
> >
> > Best Regards,
> > Igor
> >
> >
> > On Wed, Oct 10, 2018 at 2:56 PM Vladimir Ozerov 
> > wrote:
> >
> > > I am not sure there is an answer. This is just how we handled it
> before.
> > > IMO both approaches works fine. BTW, I already merged Vyacheslav's PR
> > > several hours ago.
> > >
> > > On Wed, Oct 10, 2018 at 1:24 PM Igor Sapego 
> wrote:
> > >
> > >> Vyacheslav,
> > >>
> > >> In this case, we should do the same with all existing doxygen
> > >> files, not only this one (see files with .dxg extension)
> > >>
> > >> Vova, Pavel,
> > >>
> > >> Were there historically any reasons to exclude doxygen files
> > >> from check instead of adding a license header?
> > >>
> > >> Best Regards,
> > >> Igor
> > >>
> > >>
> > >> On Tue, Oct 9, 2018 at 11:49 PM Vyacheslav Daradur <
> daradu...@gmail.com
> > >
> > >> wrote:
> > >>
> > >>> Great work guys, thanks!
> > >>>
> > >>> I've noticed TC fails in the build plan "Licenses Headers" which Igor
> > >>> have fixed already by excluding Doxyfile from checking.
> > >>>
> > >>> I've filled a ticket [1] and I'd suggest fixing the test in another
> > >>> way by adding the license header to Doxyfile.
> > >>>
> > >>> Igor, please, have a look at prepared PR [2] (tests passed [3]).
> > >>>
> > >>> [1] https://issues.apache.org/jira/browse/IGNITE-9832
> > >>> [2] https://github.com/apache/ignite/pull/4938/files
> > >>> [3] https://ci.ignite.apache.org/viewLog.html?buildId=2046206
> > >>> On Tue, Oct 9, 2018 at 6:31 PM Igor Sapego 
> wrote:
> > >>> >
> > >>> > As the seem to be everything OK with the code and tests and
> > >>> > no one had any comment for quite some time, I've merged the
> > >>> > PHP to Ignite's master.
> > >>> >
> > >>> > Great job, guys!
> > >>> >
> > >>> >
> > >>> > Best Regards,
> > >>> > Igor
> > >>> >
> > >>> >
> > >>> > On Wed, Sep 19, 2018 at 1:00 AM Prachi Garg 
> > >>> wrote:
> > >>> >
> > >>> > > Hi Stephan, Alexey
> > >>> > >
> > >>> > > That's exactly what readme.io contains - installation
> > instructions,
> > >>> > > configuration, and examples for key-value, sql, etc. for thin
> > >>> clients. For
> > >>> > > example, see these documentation pages for Node.js (currently
> > hidden
> > >>> in the
> > >>> > > latest version of the doc) :
> > >>> > >
> > >>> > > https://apacheignite.readme.io/v2.6/docs/nodejs-thin-client
> > >>> > >
> > >>> > >
> > >>>
> >
> https://apacheignite.readme.io/v2.6/docs/nodejs-thin-client-initialization-and-configuration
> > >>> > >
> > >>>
> https://apacheignite.readme.io/v2.6/docs/nodejs-thin-client-key-value
> > >>> > > https://apacheignite.readme.io/v2.6/docs/nodejs-thin-client-sql
> > >>> > >
> > >>>
> > https://apacheignite.readme.io/v2.6/docs/nodejs-thin-client-binary-types
> > >>> > >
> > https://apacheignite.readme.io/v2.6/docs/nodejs-thin-client-security
> > >>> > >
> > >>> > > This how Python and PHP thin clients will also be documented on
> > >>> readme.io
> > >>> > >
> > >>> > > -Prachi
> > >>> > >
> > >>> > >
> > >>> > >
> > >>> > >
> > >>> > > On Tue, Sep 18, 2018 at 3:26 AM, Stepan Pilshchikov <
> > >>> > > pilshchikov@gmail.com> wrote:
> > >>> > >
> > >>> > > > > You know, I'm confused with all this documentation stuff...
> > >>> > > > > For nodejs client all docs were moved from the repo to
> > readme.io
> > >>> but
> > >>> > > > the
> > >>> > > > > readme.md keeps the installation instructions (duplicated
> with
> > >>> > > > > readme.io). Probably, that's ok.
> > >>> > > > > Will add similar short readme.md to the PHP PR.
> > >>> > > >
> > >>> > > > Its good
> > >>> > > >
> > >>> > > > What i think (and how it partially now):
> > >>> > > > All user documentation should be on readme.io (how to install,
> > >>> use it,
> > >>> > > > configurate, description for examples)
> > >>> > > > All developers documentation (how to release, how to start
> > develop)
> > >>> > > and(!)
> > >>> > > > basic description should be in repository
> > >>> > > >
> > >>> > > >
> > >>> > > >
> > >>> > > >
> > >>> > > > --
> > >>> > > > Sent from:
> > http://apache-ignite-developers.2346864.n4.nabble.com/
> > >>> > > >
> > >>> > >
> > >>>
> > >>>
> > >>>
> > >>> --
> > >>> Best Regards, Vyacheslav D.
> > >>>
> > >>
> 

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 interpreted Python language
implementation. To get comparable results, please run your Java benchmark
with -Djava.compiler=NONE. It turns the dynamic compiler off at runtime. I
just did this exercise myself and got comparable scores.

Please let me know if you still see any significant difference with the
flag set.

Thanks,
P.

On Fri, Oct 12, 2018 at 10:02 AM Dmitry Melnichuk <
dmitry.melnic...@nobitlost.com> wrote:

> 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 not
> > add one? I.e. to this list: [2]
> >
> > [1] -
> >
> https://ci.ignite.apache.org/repository/download/IgniteTests24Java8_LicensesHeaders/2069024:id/rat.zip%21/target/rat.txt
> > [2] - https://github.com/apache/ignite/blob/master/parent/pom.xml#L817
> >
> > Best Regards,
> > Igor
> >
> >
> > On Thu, Oct 11, 2018 at 1:13 PM Igor Sapego  wrote:
> >
> >> 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
> >>
> >> Best Regards,
> >> Igor
> >>
> >>
> >> On Thu, Oct 11, 2018 at 12:18 PM Dmitry Melnichuk <
> >> dmitry.melnic...@nobitlost.com> wrote:
> >>
> >>> 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 time to analyze the performance of my client and find
> a
> >>> way to improve it. But is it a real stopper/blocker for the client
> >>> itself? If there are no other issues, may we merge and release the
> >>> client? Plus submit a jira-improvement to further investigate the
> >>> performance of the Python platform.
> >>>
> >>> Dmitry
> >>>
> >>> On 10/11/18 4:19 PM, Степан Пильщиков wrote:
>  Dmitry,
> 
>  pip install -e from latest sources
> 
>  On Thu, 11 Oct 2018, 06:37 Dmitry Melnichuk, <
> >>> dmitry.melnic...@nobitlost.com>
>  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 pull my working branch from the
> > downstream repository and did `pip install -e
> > ignite/modules/platforms/python`?
> >
> > I highly recommend the latter, because PyPI version do not yet
> include
> > the latest improvements I did thanks to Dmitriy “qvad” Sherstobitov.
> > These improvements can have a noticeable positive effect on speed.
> >
> > Dmitry
> >
> > On 10/10/18 11:06 PM, Степан Пильщиков wrote:
> >> 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 (last comment)
> >>
> >> Please review new metrics
> >> Because picture is not changed so much, python still have
> performance
> > issues
> >>
> >
> 
> >>>
> >>>
> >
>
>


[jira] [Created] (IGNITE-9758) Document data injection via the REST API

2018-10-01 Thread Pavel Petroshenko (JIRA)
Pavel Petroshenko created IGNITE-9758:
-

 Summary: Document data injection via the REST API
 Key: IGNITE-9758
 URL: https://issues.apache.org/jira/browse/IGNITE-9758
 Project: Ignite
  Issue Type: Task
  Components: documentation
Affects Versions: 2.6
Reporter: Pavel Petroshenko


There should a documentation on how to post data via the REST API.
 
Just to capture what was proposed by [~ilyak] over email:
 
{quote}REST API will convert complex BinaryObjects into JSON by default. But to 
put such objects via REST you will need to define your own 
ConnectorMessageInterceptor and plug it in. You will need to define string to 
entity mapping in onReceive. You can leave onSend returning arg.
 
This interface should be used:
[https://ignite.apache.org/releases/latest/javadoc/org/apache/ignite/configuration/ConnectorMessageInterceptor.html].
 You need to put it into ConnectorConfiguration, which you should put into 
IgniteConfiguration.{quote}



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


Re: ComplexObjects via REST API?

2018-09-30 Thread Pavel Petroshenko
Thanks, Ilya.

> REST API will convert complex BinaryObjects into REST by default

You mean "into JSON"?

Is this documented anywhere? Any examples that you can share a link to?

P.

On Sun, Sep 30, 2018 at 10:06 PM Ilya Kasnacheev 
wrote:

> Hello!
>
> Yes, this is supported. REST API will convert complex BinaryObjects into
> REST by default. But to put such objects via REST you will need to define
> your own ConnectorMessageInterceptor and plug it in. You will need to
> define string to entity mapping in onReceive. You can leave onSend
> returning arg.
>
> Regards,
> --
> Ilya Kasnacheev
>
>
> пн, 1 окт. 2018 г. в 3:51, Pavel Petroshenko :
>
> > Igniters,
> >
> > Is there a way to put user defined objects (in BinaryObject or whatever
> > another format) via the REST APIs [1]? According to the docs it's not
> > supported, but I wonder if by any chance it's implemented somewhere and
> is
> > just not officially released yet...
> >
> > Thanks,
> > Pavel
> >
> > [1] https://apacheignite.readme.io/docs/rest-api
> >
>


ComplexObjects via REST API?

2018-09-30 Thread Pavel Petroshenko
Igniters,

Is there a way to put user defined objects (in BinaryObject or whatever
another format) via the REST APIs [1]? According to the docs it's not
supported, but I wonder if by any chance it's implemented somewhere and is
just not officially released yet...

Thanks,
Pavel

[1] https://apacheignite.readme.io/docs/rest-api


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 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,
> Igor
>
>
> On Tue, Sep 11, 2018 at 10:34 AM Dmitry Melnichuk <
> dmitry.melnic...@nobitlost.com> wrote:
>
> > 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 pytest-runner in this command
> > creates its own test environment, independent of the one it runs into.
> > It worked for me when I installed `attrs==18.2.0` locally and run tests
> > − everything went smooth.
> >
> > You can try uninstalling or downgrading your local attrs with
> >
> > ```
> > $ pip3 uninstall attrs
> > ```
> >
> > but I don't think it will actually help. Maybe it will raise another
> > error, so we could dig deeper into the problem.
> >
> > Alternatively, you can give me more details to recreate it (OS, Python
> > and pip versions). I'm not ruling out a bug in setuptools.
> >
> > On 9/11/18 2:13 AM, Igor Sapego wrote:
> > > 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 /home/isapego/.local/lib/python3.6/site-packages
> > > running egg_info
> > > writing pyignite.egg-info/PKG-INFO
> > > writing dependency_links to pyignite.egg-info/dependency_links.txt
> > > writing requirements to pyignite.egg-info/requires.txt
> > > writing top-level names to pyignite.egg-info/top_level.txt
> > > reading manifest file 'pyignite.egg-info/SOURCES.txt'
> > > writing manifest file 'pyignite.egg-info/SOURCES.txt'
> > > running build_ext
> > > Traceback (most recent call last):
> > >File "./setup.py", line 98, in 
> > >  'Operating System :: OS Independent',
> > >File
> > >
> > "/home/isapego/.local/lib/python3.6/site-packages/
> setuptools/__init__.py",
> > > line 140, in setup
> > >  return distutils.core.setup(**attrs)
> > >File "/usr/lib/python3.6/distutils/core.py", line 148, in setup
> > >  dist.run_commands()
> > >File "/usr/lib/python3.6/distutils/dist.py", line 955, in
> run_commands
> > >  self.run_command(cmd)
> > >File "/usr/lib/python3.6/distutils/dist.py", line 974, in
> run_command
> > >  cmd_obj.run()
> > >File "/home/isapego/.local/lib/python3.6/site-packages/ptr.py",
> line
> > 175,
> > > in run
> > >  with self.project_on_sys_path():
> > >File "/usr/lib/python3.6/contextlib.py", line 81, in __enter__
> > >  return next(self.gen)
> > >File
> > >
> > "/home/isapego/.local/lib/python3.6/site-packages/
> setuptools/command/test.py",
> > > line 166, in project_on_sys_path
> > >  require('%s==%s' % (ei_cmd.egg_name, ei_cmd.egg_version))
> > >File
> > >
> > "/home/isapego/.local/lib/python3.6/site-packages/pkg_
> resources/__init__.py",
> > > line 895, in require
> > >  needed = self.resolve(parse_requirements(requirements))
> > >File
> > >
> > "/home/isapego/.local/lib/python3.6/site-packages/pkg_
> resources/__init__.py",
> > > line 786, in resolve
> > >  raise VersionConflict(dist, req).with_context(dependent_req)
> > > pkg_resources.ContextualVersionConflict: (attrs 18.2.0
> > > (/home/isapego/.local/lib/python3.6/site-packages),
> > > Requirement.parse('attrs==18.1.0'), {'pyignite'})
> > >
> > > What am I doing wrong?
> > >
> > > Best Regards,
> > > Igor
> > >
> >
>


Re: Apache Ignite 2.7 release

2018-08-24 Thread Pavel Petroshenko
Hi Nikolay,

Thank you for the heads up. The dependency should be resolved before the
clients are merged to master, so the sooner you merge the PR the better.

p.

On Fri, Aug 24, 2018 at 12:47 AM, Nikolay Izhikov 
wrote:

> Hello, Pavel.
>
> Please, be aware of IGNITE-6055 [1]
>
> I'm edit thin protocol in that ticket.
> I can't support changes in Python and PHP clients, because, they are not
> merged in master, yet.
> Write me, If you have any questions about new fields.
>
> [1] https://issues.apache.org/jira/browse/IGNITE-6055
>
> В Чт, 23/08/2018 в 18:02 -0700, Pavel Petroshenko пишет:
> > Hi Nikolay,
> >
> > Python [1], PHP [2], and Node.js [3] thin clients will get into the
> release.
> >
> > Thanks,
> > p.
> >
> > [1] https://jira.apache.org/jira/browse/IGNITE-7782
> > [2] https://jira.apache.org/jira/browse/IGNITE-7783
> > [3] https://jira.apache.org/jira/browse/IGNITE-
> >
> >
> > On Tue, Aug 21, 2018 at 12:20 PM, Dmitriy Setrakyan <
> dsetrak...@apache.org> wrote:
> > > Thanks, Nikolay!
> > >
> > > I think it is important to include the links to all important Jira
> tickets
> > > in this thread, so that the community can track them.
> > >
> > > D.
> > >
> > > On Tue, Aug 21, 2018 at 12:06 AM, Nikolay Izhikov  >
> > > wrote:
> > >
> > > > Hello, Dmitriy.
> > > >
> > > > I think Transparent Data Encryption will be available in 2.7
> > > >
> > > > В Пн, 20/08/2018 в 13:20 -0700, Dmitriy Setrakyan пишет:
> > > > > Hi Nikolay,
> > > > >
> > > > > Thanks for being the release manager!
> > > > >
> > > > > I am getting a bit lost in all these tickets. Can we specify some
> > > > > high-level tickets, that are not plain bug fixes, which will be
> > > > interesting
> > > > > for the community to notice?
> > > > >
> > > > > For example, here are some significant tasks that the community is
> either
> > > > > working on or has been working on:
> > > > >
> > > > > - Node.JS client
> > > > > - Python client
> > > > > - Transactional SQL (MVCC)
> > > > > - service grid stabilization
> > > > > - SQL memory utilization improvements
> > > > > - more?
> > > > >
> > > > > Can you please solicit status from the community for these tasks?
> > > > >
> > > > > D.
> > > > >
> > > > > On Mon, Aug 20, 2018 at 11:22 AM, Nikolay Izhikov <
> nizhi...@apache.org>
> > > > > wrote:
> > > > >
> > > > > > Hello, Igniters.
> > > > > >
> > > > > > I'm release manager of Apache Ignite 2.7.
> > > > > >
> > > > > > It's time to start discussion of release. [1]
> > > > > >
> > > > > > Current code freeze date is September, 30.
> > > > > > If you have any objections - please, responsd to this thread.
> > > > > >
> > > > > > [1] https://cwiki.apache.org/confluence/display/IGNITE/
> > > > Apache+Ignite+2.7
> > > >
> >
> >
>


Re: Apache Ignite 2.7 release

2018-08-23 Thread Pavel Petroshenko
Hi Nikolay,

Python [1], PHP [2], and Node.js [3] thin clients will get into the release.

Thanks,
p.

[1] https://jira.apache.org/jira/browse/IGNITE-7782
[2] https://jira.apache.org/jira/browse/IGNITE-7783
[3] https://jira.apache.org/jira/browse/IGNITE-


On Tue, Aug 21, 2018 at 12:20 PM, Dmitriy Setrakyan 
wrote:

> Thanks, Nikolay!
>
> I think it is important to include the links to all important Jira tickets
> in this thread, so that the community can track them.
>
> D.
>
> On Tue, Aug 21, 2018 at 12:06 AM, Nikolay Izhikov 
> wrote:
>
> > Hello, Dmitriy.
> >
> > I think Transparent Data Encryption will be available in 2.7
> >
> > В Пн, 20/08/2018 в 13:20 -0700, Dmitriy Setrakyan пишет:
> > > Hi Nikolay,
> > >
> > > Thanks for being the release manager!
> > >
> > > I am getting a bit lost in all these tickets. Can we specify some
> > > high-level tickets, that are not plain bug fixes, which will be
> > interesting
> > > for the community to notice?
> > >
> > > For example, here are some significant tasks that the community is
> either
> > > working on or has been working on:
> > >
> > > - Node.JS client
> > > - Python client
> > > - Transactional SQL (MVCC)
> > > - service grid stabilization
> > > - SQL memory utilization improvements
> > > - more?
> > >
> > > Can you please solicit status from the community for these tasks?
> > >
> > > D.
> > >
> > > On Mon, Aug 20, 2018 at 11:22 AM, Nikolay Izhikov  >
> > > wrote:
> > >
> > > > Hello, Igniters.
> > > >
> > > > I'm release manager of Apache Ignite 2.7.
> > > >
> > > > It's time to start discussion of release. [1]
> > > >
> > > > Current code freeze date is September, 30.
> > > > If you have any objections - please, responsd to this thread.
> > > >
> > > > [1] https://cwiki.apache.org/confluence/display/IGNITE/
> > Apache+Ignite+2.7
> >
>


Re: [jira] [Created] (IGNITE-9258) NodeJS - Fail to handle more than one client in the same app

2018-08-15 Thread Pavel Petroshenko
Yes, already looking...

Pavel

On Wed, Aug 15, 2018 at 5:39 PM, Denis Magda  wrote:

> Pavel,
>
> Could you please look into this issue? Guess we've got the first Node.JS
> user even before it was officially released.
>
> --
> Denis
>
> -- Forwarded message -
> From: Eran Betzalel (JIRA) 
> Date: Mon, Aug 13, 2018 at 6:53 AM
> Subject: [jira] [Created] (IGNITE-9258) NodeJS - Fail to handle more than
> one client in the same app
> To: 
>
>
> Eran Betzalel created IGNITE-9258:
> -
>
>  Summary: NodeJS - Fail to handle more than one client in the
> same app
>  Key: IGNITE-9258
>  URL: https://issues.apache.org/jira/browse/IGNITE-9258
>  Project: Ignite
>   Issue Type: Bug
>   Components: platforms
> Affects Versions: 2.6
> Reporter: Eran Betzalel
>
>
> BinaryTypeStorage initialized with non-connected state causing multiple
> clients to fail
>
>
>
> --
> This message was sent by Atlassian JIRA
> (v7.6.3#76005)
>


Re: Apache Ignite 2.7: scope, time and release manager

2018-07-20 Thread Pavel Petroshenko
Hi Denis, Nikolay,

The proposed 2.7 release timing sounds reasonable to me.
Python [1], PHP [2], and Node.js [3] thin clients should take the train.

p.

[1] https://jira.apache.org/jira/browse/IGNITE-7782
[2] https://jira.apache.org/jira/browse/IGNITE-7783
[3] https://jira.apache.org/jira/browse/IGNITE-


On Fri, Jul 20, 2018 at 2:35 PM, Denis Magda  wrote:

> Igniters,
>
> Let's agree on the time and the scope of 2.7. As for the release manager,
> we had a conversation with Nikolay Izhikov and he decided to try the role
> out. Thanks, Nikolay!
>
> Nikolay, we need to prepare a page like that [1] once the release terms are
> defined.
>
> I propose us to roll Ignite 2.7 at the end of September. Folks who are
> working on SQL, core, C++/NET, thin clients, ML, service grid
> optimizations, data structures please enlist what you're ready to deliver.
>
>
> [1] https://cwiki.apache.org/confluence/display/IGNITE/Apache+Ignite+2.6
>


Re: NodeJS thin client: full API

2018-06-10 Thread Pavel Petroshenko
Hi Ivan,

I've got through some build issues, but it's still crashing on master [1]
for me:

Thread 1. Client is started
Thread 1. ERROR: Cache does not exist [cacheId= -1407396309]
Thread 1. ERROR: Cache does not exist [cacheId= -1407396309]
Thread 1. ERROR: Cache does not exist [cacheId= -1407396309]
Thread 1. ERROR: Cache does not exist [cacheId= -1407396309]

It would be nice if you could provide some sufficient instructions on how
to "install" and run the scripts. And also please specify, which AI
codebase you used for testing.

Thanks,
p.

[1] https://github.com/nobitlost/ignite/tree/master/modules/platforms/nodejs

On Thu, Jun 7, 2018 at 5:05 PM, Pavel Petroshenko 
wrote:

> Hi Ivan,
>
> Thanks for taking care of this. I will give the scripts a try and get back
> to you if any questions.
>
> Could you please update the JIRA ticket [1] so that we keep it up-to-date.
>
> Thanks!
> p.
>
> [1] https://issues.apache.org/jira/browse/IGNITE-8733
>
>
> On Thu, Jun 7, 2018 at 4:47 AM, Иван Артюхов  wrote:
>
>> Hi Igniters!
>>
>> I've prepared two scripts to benchmark the throughput of Node.JS thin
>> client using 'atomic-put' operations [1]. They work in the following way:
>> - Main script 'bench-starter.js' starts the given number of thin clients
>> as
>> sub-processes. AFAIK, Node.JS is one-threaded so we should fork clients
>> from some parent process to make the benchmark fully utilize all CPU
>> cores.
>> - The Node.JS thin client script 'CachePut.js' uses the 'sandra' benchmark
>> package [2] which is simple and suites the asynchronous logic of the
>> Node.JS thin client package itself. Every second 'CachePut.js' calculates
>> and prints on screen the average throughput for current iteration.
>>
>> I tried to make the logic of 'CachePut.js' to be close to Java thin client
>> benchmarks for Yardstick framework available in a pull request [3].
>> Because
>> I'm not a Node.JS expert, it would be great if someone could review these
>> two scripts and compare them with Java thin client benchmarks.
>> Specifically
>> the 'IgniteThinPutBenchmark.java' benchmark which also does atomic puts.
>> Any
>> feedback is greatly appreciated!
>>
>> [1] https://gist.github.com/iartiukhov/c02385d265330e2c9192931759616f95
>> [2] https://www.npmjs.com/package/sandra
>> [3] https://github.com/apache/ignite/pull/3942
>>
>> Thanks,
>> Ivan
>>
>>
>> вт, 29 мая 2018 г. в 20:05, Denis Magda :
>>
>> > Hi Pavel,
>> >
>> > Thanks for prompt improvements. I'll check them this week.
>> >
>> > --
>> > Denis
>> >
>> > On Sun, May 27, 2018 at 5:04 PM, Pavel Petroshenko <
>> pa...@petroshenko.com>
>> > wrote:
>> >
>> > > Hi Denis,
>> > >
>> > > Thanks for your feedback on the documentation! I addressed all your
>> > > comments from https://issues.apache.org/jira/browse/IGNITE-8589.
>> > >
>> > > Please let me know if you have any questions.
>> > >
>> > > Thanks,
>> > > p.
>> > >
>> > >
>> > > On Thu, May 24, 2018 at 12:42 PM, Pavel Petroshenko <
>> > pa...@petroshenko.com
>> > > >
>> > > wrote:
>> > >
>> > > > Hi Denis,
>> > > >
>> > > > That's a good point, thanks. This should be a part of the "Usage"
>> > > section.
>> > > > I'll follow up in JIRA.
>> > > >
>> > > > p.
>> > > >
>> > > > On Thu, May 24, 2018 at 10:49 AM, Denis Magda 
>> > wrote:
>> > > >
>> > > >> Pavel,
>> > > >>
>> > > >> Recalled that we've not described how to authenticate and set up
>> SSL
>> > > from
>> > > >> the client side. Please consider this for the doc. Left some notes
>> in
>> > > the
>> > > >> JIRA.
>> > > >>
>> > > >> --
>> > > >> Denis
>> > > >>
>> > > >> On Wed, May 23, 2018 at 12:25 PM, Denis Magda 
>> > > wrote:
>> > > >>
>> > > >> > Alexey, Pavel,
>> > > >> >
>> > > >> > I've done a preliminary review of the doc and moved it to the
>> > > readme.io
>> > > >> > page:
>> > > >> > https://apacheignite.readme.io/v2.4/docs/nodejs-thin-client
>> > > >> >
>> > > >> > The page is hidden. I'll grant you access to readme so that you
>> can
>> > > >> update
>> > > >> > the doc taking my suggestions into account:
>> > > >> > https://issues.apache.org/jira/browse/IGNITE-8589
>> > > >> >
>> > > >> > --
>> > > >> > Denis
>> > > >> >
>> > > >> >
>> > > >> > On Mon, May 21, 2018 at 6:39 PM, Alexey Kuznetsov <
>> > > >> akuznet...@apache.org>
>> > > >> > wrote:
>> > > >> >
>> > > >> >> Hi,
>> > > >> >>
>> > > >> >> FYI, HZ also has NodeJs client: https://github.com/
>> > > >> >> hazelcast/hazelcast-nodejs-client
>> > > >> >> May be it is worth to take a look?
>> > > >> >>
>> > > >> >> --
>> > > >> >> Alexey Kuznetsov
>> > > >> >>
>> > > >> >
>> > > >> >
>> > > >>
>> > > >
>> > > >
>> > >
>> >
>>
>
>


Re: Node.JS thin client: Node.JS thin client fails

2018-06-07 Thread Pavel Petroshenko
Thank, Vladimir.

Denis, confirming, AI 2.5 is not supported.

However, all the tests and examples happily pass on the latest master (as
of today). So please use it for testing.

Thanks,
p.


On Thu, Jun 7, 2018 at 12:33 AM, Vladimir Ozerov 
wrote:

> Denis,
>
> No, AI 2.5 is not supported.
>
> чт, 7 июня 2018 г. в 2:37, Denis Magda :
>
>> Pavel,
>>
>> I'm tried to run an SQL example following the prepared documentation:
>> https://apacheignite.readme.io/v2.5/docs/nodejs-thin-
>> client#section-examples
>>
>> Getting an exception below when execute `node SqlQueryEntriesExample.js`
>> example. Do we support Ignite 2.5 (using its binaries)? Do I need to use
>> Ignite master instead?
>>
>> [16:31:13,389][SEVERE][client-connector-#46][ClientListenerNioListener]
>> Failed to parse client request.
>>
>> class org.apache.ignite.binary.BinaryObjectException: Unexpected field
>> type
>> [pos=73, expected=String, actual=-1]
>>
>> at
>> org.apache.ignite.internal.binary.BinaryReaderExImpl.checkFlagNoHandles(
>> BinaryReaderExImpl.java:1677)
>>
>> at
>> org.apache.ignite.internal.binary.BinaryReaderExImpl.
>> readString(BinaryReaderExImpl.java:1055)
>>
>> at
>> org.apache.ignite.internal.processors.platform.utils.
>> PlatformConfigurationUtils.readQueryEntity(PlatformConfigurationUtils.
>> java:500)
>>
>> at
>> org.apache.ignite.internal.processors.platform.client.cache.
>> ClientCacheConfigurationSerializer.read(ClientCacheConfigurationSerial
>> izer.java:352)
>>
>> at
>> org.apache.ignite.internal.processors.platform.client.cache.
>> ClientCacheGetOrCreateWithConfigurationRequest.(
>> ClientCacheGetOrCreateWithConfigurationRequest.java:46)
>>
>> at
>> org.apache.ignite.internal.processors.platform.client.
>> ClientMessageParser.decode(ClientMessageParser.java:336)
>>
>> at
>> org.apache.ignite.internal.processors.platform.client.
>> ClientMessageParser.decode(ClientMessageParser.java:220)
>>
>> at
>> org.apache.ignite.internal.processors.odbc.ClientListenerNioListener.
>> onMessage(ClientListenerNioListener.java:138)
>>
>> at
>> org.apache.ignite.internal.processors.odbc.ClientListenerNioListener.
>> onMessage(ClientListenerNioListener.java:44)
>>
>> at
>> org.apache.ignite.internal.util.nio.GridNioFilterChain$
>> TailFilter.onMessageReceived(GridNioFilterChain.java:279)
>>
>> at
>> org.apache.ignite.internal.util.nio.GridNioFilterAdapter.
>> proceedMessageReceived(GridNioFilterAdapter.java:109)
>>
>> at
>> org.apache.ignite.internal.util.nio.GridNioAsyncNotifyFilter$3.
>> body(GridNioAsyncNotifyFilter.java:97)
>>
>> at
>> org.apache.ignite.internal.util.worker.GridWorker.run(
>> GridWorker.java:110)
>>
>> at
>> org.apache.ignite.internal.util.worker.GridWorkerPool$1.
>> run(GridWorkerPool.java:70)
>>
>> at
>> java.util.concurrent.ThreadPoolExecutor.runWorker(
>> ThreadPoolExecutor.java:1142)
>>
>> at
>> java.util.concurrent.ThreadPoolExecutor$Worker.run(
>> ThreadPoolExecutor.java:617)
>>
>> at java.lang.Thread.run(Thread.java:745)
>>
>


Re: NodeJS thin client: full API

2018-06-07 Thread Pavel Petroshenko
Hi Ivan,

Thanks for taking care of this. I will give the scripts a try and get back
to you if any questions.

Could you please update the JIRA ticket [1] so that we keep it up-to-date.

Thanks!
p.

[1] https://issues.apache.org/jira/browse/IGNITE-8733


On Thu, Jun 7, 2018 at 4:47 AM, Иван Артюхов  wrote:

> Hi Igniters!
>
> I've prepared two scripts to benchmark the throughput of Node.JS thin
> client using 'atomic-put' operations [1]. They work in the following way:
> - Main script 'bench-starter.js' starts the given number of thin clients as
> sub-processes. AFAIK, Node.JS is one-threaded so we should fork clients
> from some parent process to make the benchmark fully utilize all CPU cores.
> - The Node.JS thin client script 'CachePut.js' uses the 'sandra' benchmark
> package [2] which is simple and suites the asynchronous logic of the
> Node.JS thin client package itself. Every second 'CachePut.js' calculates
> and prints on screen the average throughput for current iteration.
>
> I tried to make the logic of 'CachePut.js' to be close to Java thin client
> benchmarks for Yardstick framework available in a pull request [3]. Because
> I'm not a Node.JS expert, it would be great if someone could review these
> two scripts and compare them with Java thin client benchmarks. Specifically
> the 'IgniteThinPutBenchmark.java' benchmark which also does atomic puts.
> Any
> feedback is greatly appreciated!
>
> [1] https://gist.github.com/iartiukhov/c02385d265330e2c9192931759616f95
> [2] https://www.npmjs.com/package/sandra
> [3] https://github.com/apache/ignite/pull/3942
>
> Thanks,
> Ivan
>
>
> вт, 29 мая 2018 г. в 20:05, Denis Magda :
>
> > Hi Pavel,
> >
> > Thanks for prompt improvements. I'll check them this week.
> >
> > --
> > Denis
> >
> > On Sun, May 27, 2018 at 5:04 PM, Pavel Petroshenko <
> pa...@petroshenko.com>
> > wrote:
> >
> > > Hi Denis,
> > >
> > > Thanks for your feedback on the documentation! I addressed all your
> > > comments from https://issues.apache.org/jira/browse/IGNITE-8589.
> > >
> > > Please let me know if you have any questions.
> > >
> > > Thanks,
> > > p.
> > >
> > >
> > > On Thu, May 24, 2018 at 12:42 PM, Pavel Petroshenko <
> > pa...@petroshenko.com
> > > >
> > > wrote:
> > >
> > > > Hi Denis,
> > > >
> > > > That's a good point, thanks. This should be a part of the "Usage"
> > > section.
> > > > I'll follow up in JIRA.
> > > >
> > > > p.
> > > >
> > > > On Thu, May 24, 2018 at 10:49 AM, Denis Magda 
> > wrote:
> > > >
> > > >> Pavel,
> > > >>
> > > >> Recalled that we've not described how to authenticate and set up SSL
> > > from
> > > >> the client side. Please consider this for the doc. Left some notes
> in
> > > the
> > > >> JIRA.
> > > >>
> > > >> --
> > > >> Denis
> > > >>
> > > >> On Wed, May 23, 2018 at 12:25 PM, Denis Magda 
> > > wrote:
> > > >>
> > > >> > Alexey, Pavel,
> > > >> >
> > > >> > I've done a preliminary review of the doc and moved it to the
> > > readme.io
> > > >> > page:
> > > >> > https://apacheignite.readme.io/v2.4/docs/nodejs-thin-client
> > > >> >
> > > >> > The page is hidden. I'll grant you access to readme so that you
> can
> > > >> update
> > > >> > the doc taking my suggestions into account:
> > > >> > https://issues.apache.org/jira/browse/IGNITE-8589
> > > >> >
> > > >> > --
> > > >> > Denis
> > > >> >
> > > >> >
> > > >> > On Mon, May 21, 2018 at 6:39 PM, Alexey Kuznetsov <
> > > >> akuznet...@apache.org>
> > > >> > wrote:
> > > >> >
> > > >> >> Hi,
> > > >> >>
> > > >> >> FYI, HZ also has NodeJs client: https://github.com/
> > > >> >> hazelcast/hazelcast-nodejs-client
> > > >> >> May be it is worth to take a look?
> > > >> >>
> > > >> >> --
> > > >> >> Alexey Kuznetsov
> > > >> >>
> > > >> >
> > > >> >
> > > >>
> > > >
> > > >
> > >
> >
>


Re: Thin client protocol version release notes.

2018-06-04 Thread Pavel Petroshenko
Hi Igor,

That's a great idea! This would make the client developers' lives much
easier.

Pavel

On Mon, Jun 4, 2018 at 3:54 AM, Igor Sapego  wrote:

> Igniters,
>
> Currently, our thin client specification is kept on readme.io [1].
> However, sometimes to introduce new features while keeping
> backward compatibility, we need to increase protocol version.
>
> The issue is: there is currently no easy way for thin client
> developers to find out when thin protocol version has been
> updated and what kind of new features have been introduced.
>
> We may want to make a rule, that a commiter, that merge a
> commit to the master, that introduces new thin client version,
> should send an update email to devlist.
>
> We may also want to have some kind of "Changes list" page on
> readme.io which will track protocol changes from version to
> version.
>
> What are your thoughts on the topic?
>
> [1] - https://apacheignite.readme.io/docs/binary-client-protocol
>
> Best Regards,
> Igor
>


Re: Node.js Thin Client @ npmjs

2018-05-25 Thread Pavel Petroshenko
Hi Dmitriy,

Agree, your proposal makes a lot of sense.

p.

On Fri, May 25, 2018 at 11:04 AM, Dmitriy Setrakyan <dsetrak...@apache.org>
wrote:

> I generally think that as a community we need to start taking an approach
> of separate thin client releases. This goes for Java, .NET, JDBC, ODBC,
> Node.JS, etc...
>
> We can still host them in the same Ignite repo, but they should be a
> separate download. Of course, they should be included in the overall Ignite
> distribution as well.
>
> Node.JS client could be the first one to take this approach. We can then
> migrate others as well.
>
> Denis, Pavel, what do you think?
>
> D.
>
> On Thu, May 24, 2018 at 2:11 PM, Pavel Petroshenko <pa...@petroshenko.com>
> wrote:
>
> > As Denis said, there is no need to download the entire Ignite repo to
> > install the client. Once published the client is going to be installed by
> > users with a command:
> >
> > npm install -g apache-ignite-client
> >
> > The sources are going to be distributed as a part of the ignite
> repository,
> > yes. But in general, release and installation process for the client and
> > the Ignite technically are completely independent.
> >
> > And moreover: if there is a bug, especially critical, found in the client
> > we shouldn't wait for the next Ignite to be released to get it fixed. We
> > should be flexible enough to push the fixes and release the clients'
> > updates independently at any point in time.
> >
> > Having an independent release/versioning scheme would allow the clients
> to
> > get bug-fixes (minor version update) or nonbreaking feature-adds or
> > improvements (medium version update) between major Ignite releases
> > (potentially breaking changes and thus - the major version update). But
> the
> > client and the Ignite versions mapping might be tricky and should be
> > clearly documented.
> >
> > So there are pros and cons.
> >
> > But I believe the release policy should be consistent across all the Thin
> > clients (I'm not talking about the "native" or Thick ones, which heavily
> > depend on the Ignite internals and are a different story).
> >
> > p.
> >
> >
> > On Thu, May 24, 2018 at 1:44 PM, Denis Magda <dma...@apache.org> wrote:
> >
> > > Once the client is built it will be uploaded to the npmjs repository,
> > > right? So, a JS developer can download the client from there without
> > > touching the whole Ignite binary release.
> > >
> > > However, those who download the whole Ignite binary distribution will
> > find
> > > node.js there (as well as .NET, C++, JDBC and ODBC).
> > >
> > > --
> > > Denis
> > >
> > > On Thu, May 24, 2018 at 1:06 PM, Dmitriy Setrakyan <
> > dsetrak...@apache.org>
> > > wrote:
> > >
> > > > On Thu, May 24, 2018 at 12:36 PM, Pavel Petroshenko <
> > > pa...@petroshenko.com
> > > > >
> > > > wrote:
> > > >
> > > > > Fair enough. Consistency with the other clients is a good argument.
> > > > >
> > > > >
> > > > Pavel, I would discuss it a bit more. Does it really make sense for a
> > > > node.js user to download the whole Ignite distribution just to get a
> > > > node.js client?
> > > >
> > >
> >
>


Re: Node.js Thin Client @ npmjs

2018-05-24 Thread Pavel Petroshenko
As Denis said, there is no need to download the entire Ignite repo to
install the client. Once published the client is going to be installed by
users with a command:

npm install -g apache-ignite-client

The sources are going to be distributed as a part of the ignite repository,
yes. But in general, release and installation process for the client and
the Ignite technically are completely independent.

And moreover: if there is a bug, especially critical, found in the client
we shouldn't wait for the next Ignite to be released to get it fixed. We
should be flexible enough to push the fixes and release the clients'
updates independently at any point in time.

Having an independent release/versioning scheme would allow the clients to
get bug-fixes (minor version update) or nonbreaking feature-adds or
improvements (medium version update) between major Ignite releases
(potentially breaking changes and thus - the major version update). But the
client and the Ignite versions mapping might be tricky and should be
clearly documented.

So there are pros and cons.

But I believe the release policy should be consistent across all the Thin
clients (I'm not talking about the "native" or Thick ones, which heavily
depend on the Ignite internals and are a different story).

p.


On Thu, May 24, 2018 at 1:44 PM, Denis Magda <dma...@apache.org> wrote:

> Once the client is built it will be uploaded to the npmjs repository,
> right? So, a JS developer can download the client from there without
> touching the whole Ignite binary release.
>
> However, those who download the whole Ignite binary distribution will find
> node.js there (as well as .NET, C++, JDBC and ODBC).
>
> --
> Denis
>
> On Thu, May 24, 2018 at 1:06 PM, Dmitriy Setrakyan <dsetrak...@apache.org>
> wrote:
>
> > On Thu, May 24, 2018 at 12:36 PM, Pavel Petroshenko <
> pa...@petroshenko.com
> > >
> > wrote:
> >
> > > Fair enough. Consistency with the other clients is a good argument.
> > >
> > >
> > Pavel, I would discuss it a bit more. Does it really make sense for a
> > node.js user to download the whole Ignite distribution just to get a
> > node.js client?
> >
>


Re: NodeJS thin client: full API

2018-05-24 Thread Pavel Petroshenko
Hi Denis,

That's a good point, thanks. This should be a part of the "Usage" section.
I'll follow up in JIRA.

p.

On Thu, May 24, 2018 at 10:49 AM, Denis Magda  wrote:

> Pavel,
>
> Recalled that we've not described how to authenticate and set up SSL from
> the client side. Please consider this for the doc. Left some notes in the
> JIRA.
>
> --
> Denis
>
> On Wed, May 23, 2018 at 12:25 PM, Denis Magda  wrote:
>
> > Alexey, Pavel,
> >
> > I've done a preliminary review of the doc and moved it to the readme.io
> > page:
> > https://apacheignite.readme.io/v2.4/docs/nodejs-thin-client
> >
> > The page is hidden. I'll grant you access to readme so that you can
> update
> > the doc taking my suggestions into account:
> > https://issues.apache.org/jira/browse/IGNITE-8589
> >
> > --
> > Denis
> >
> >
> > On Mon, May 21, 2018 at 6:39 PM, Alexey Kuznetsov  >
> > wrote:
> >
> >> Hi,
> >>
> >> FYI, HZ also has NodeJs client: https://github.com/
> >> hazelcast/hazelcast-nodejs-client
> >> May be it is worth to take a look?
> >>
> >> --
> >> Alexey Kuznetsov
> >>
> >
> >
>


Re: Node.js Thin Client @ npmjs

2018-05-24 Thread Pavel Petroshenko
Fair enough. Consistency with the other clients is a good argument.

p.

On Thu, May 24, 2018 at 11:44 AM, Dmitriy Setrakyan 
wrote:

> On Thu, May 24, 2018 at 11:42 AM, Igor Sapego  wrote:
>
> > Well, all other clients have the same version as Ignite.
> > Are there any reasons to make a Node.js client some
> > kind of a special case?
> >
> >
> I may have spoken too soon. Do we plan to include the node.js client into
> Ignite build? If yes, then it will be built anew with every Ignite release,
> so the same versioning makes sense in this case.
>
> D.
>


Re: Node.js Thin Client @ npmjs

2018-05-24 Thread Pavel Petroshenko
Igor,

Are you proposing to update the Thin Client versions on every Ignite
release regardless of the changes made to them?

I tend to think that an independent versioning scheme for the Thin Clients
might be more flexible/meaningful.

p.

On Thu, May 24, 2018 at 2:04 AM, Igor Sapego <isap...@apache.org> wrote:

> 1. Sounds OK for me.
> 2. Since Node.js client is going to be included in Ignite releases,
> I guess it make sense to align its version with the version of
> Ignite, i.e. 2.6, etc...
>
> Best Regards,
> Igor
>
> On Thu, May 24, 2018 at 9:02 AM, Pavel Petroshenko <pa...@petroshenko.com>
> wrote:
>
> > Igniters,
> >
> > I'm finalizing the docs (with regards to installation instructions) for
> the
> > Node.js Thin Client at readme.io. And I've got a couple of questions.
> >
> > 1. Does the name "apache-ignite-client" for the Node.js Thin Client
> > npm module sound good to everyone? This name will be used to install the
> > client library, for example:
> >
> > npm i -g apache-ignite-client
> >
> > or include it from the source code:
> >
> > const IgniteClient = require('apache-ignite-client');
> >
> > 2. Which version should the npm module get: 1.0 or does it need to be
> > aligned with the Ignite release version when it's published or compatible
> > with, i.e. 2.4, 2.5 or 2.6?
> >
> > thanks,
> > p.
> >
>


Node.js Thin Client @ npmjs

2018-05-24 Thread Pavel Petroshenko
Igniters,

I'm finalizing the docs (with regards to installation instructions) for the
Node.js Thin Client at readme.io. And I've got a couple of questions.

1. Does the name "apache-ignite-client" for the Node.js Thin Client
npm module sound good to everyone? This name will be used to install the
client library, for example:

npm i -g apache-ignite-client

or include it from the source code:

const IgniteClient = require('apache-ignite-client');

2. Which version should the npm module get: 1.0 or does it need to be
aligned with the Ignite release version when it's published or compatible
with, i.e. 2.4, 2.5 or 2.6?

thanks,
p.


Re: TeamCity permissions

2018-05-21 Thread Pavel Petroshenko
It works, thanks Vitaliy!

p.

On Sun, May 20, 2018 at 1:16 PM, Vitaliy Osipov <vosi...@gridgain.com>
wrote:

> Pavel. Hi
>
> The necessary rights have been added. Check please.
>
> On 19 May 2018 at 01:48, Pavel Petroshenko <pa...@petroshenko.com> wrote:
>
>> Thank you, Denis! I need to have a role to be able to temporary rearrange
>> builds in the TC build queue for testing and CI integration purposes.
>>
>> Vitaly, I would appreciate any help.
>>
>> Thanks,
>> P.
>>
>>
>> On Fri, May 18, 2018 at 10:49 AM, Denis Magda <dma...@apache.org> wrote:
>>
>>> Hi Pavel,
>>>
>>> All the accounts are assigned Project developer role on TC that should
>>> provide anything you need to manage builds there.
>>>
>>> What specifically are you looking for? Please elaborate so that Vitaly
>>> can
>>> grant more permissions.
>>>
>>> Vitaly, please keep an eye on the conversation.
>>>
>>> --
>>> Denis
>>>
>>>
>>> On Fri, May 18, 2018 at 9:44 AM, Pavel Petroshenko <
>>> pa...@petroshenko.com>
>>> wrote:
>>>
>>> > Hi,
>>> >
>>> > Can anyone please grant TC permissions to manage jobs (reorder, etc)
>>> to:
>>> >
>>> > ekaterina.vergizova
>>> > alexey.kosenchuk
>>> > pavel.petroshenko
>>> >
>>> > Thanks!
>>> > p.
>>> >
>>>
>>
>>
>
>
> --
> Kind Regards
> Vitaliy Osipov
> vosi...@gridgain.com
> *+7 (921) 397 27 68*
>
> *gridgain.com <http://gridgain.com/>*Powered by Apache® Ignite™
>


Re: TeamCity permissions

2018-05-18 Thread Pavel Petroshenko
Thank you, Denis! I need to have a role to be able to temporary rearrange
builds in the TC build queue for testing and CI integration purposes.

Vitaly, I would appreciate any help.

Thanks,
P.


On Fri, May 18, 2018 at 10:49 AM, Denis Magda <dma...@apache.org> wrote:

> Hi Pavel,
>
> All the accounts are assigned Project developer role on TC that should
> provide anything you need to manage builds there.
>
> What specifically are you looking for? Please elaborate so that Vitaly can
> grant more permissions.
>
> Vitaly, please keep an eye on the conversation.
>
> --
> Denis
>
>
> On Fri, May 18, 2018 at 9:44 AM, Pavel Petroshenko <pa...@petroshenko.com>
> wrote:
>
> > Hi,
> >
> > Can anyone please grant TC permissions to manage jobs (reorder, etc) to:
> >
> > ekaterina.vergizova
> > alexey.kosenchuk
> > pavel.petroshenko
> >
> > Thanks!
> > p.
> >
>


TeamCity permissions

2018-05-18 Thread Pavel Petroshenko
Hi,

Can anyone please grant TC permissions to manage jobs (reorder, etc) to:

ekaterina.vergizova
alexey.kosenchuk
pavel.petroshenko

Thanks!
p.


Re: PHP/Python versions for Thin Clients

2018-05-14 Thread Pavel Petroshenko
Hi Dmitriy,

PHP 5.6 and 7.0 are going to be end-of-life shortly [1]. So the minimal
version for the Thin Client is going to be either 7.1 or 7.2 (I would
finalize this along with the PHP Thin Client API proposal).

As for Python, there is still some legacy code on 2.7, the oldest active
2.x version. However the use of Python 2 is declining as it’s not actively
developed, doesn’t get new features, and its maintenance is going to be
stopped in 2020 [2]. Python 3 is a strong leader with 75% and Python 2 is
used as the main interpreter by only 25% (rapidly declining) [3]. So I'm
leaning towards supporting 3.4+ (the oldest active 3.x version). However, I
would keep the 2.7 in mind for API design.

I hope it makes sense.

Thanks,
p.

[1] http://php.net/supported-versions.php
[2] https://legacy.python.org/dev/peps/pep-0373/
[3] https://www.jetbrains.com/research/python-developers-survey-2017/


On Sat, May 12, 2018 at 6:21 AM, Dmitriy Setrakyan <dsetrak...@apache.org>
wrote:

> Pavel,
>
> Can you suggest what would be the advantages and disadvantages of
> supporting different versions?
>
> D.
>
> On Sat, May 12, 2018 at 7:21 AM, Pavel Petroshenko <pa...@petroshenko.com>
> wrote:
>
> > Igniters,
> >
> > Are there any strong opinions on which language versions should the Thin
> > Clients written in Python and PHP support? Any objections to using PHP
> 7.1+
> > and Python 3.5+?
> >
> > Thanks,
> >
> > p.
> >
>


PHP/Python versions for Thin Clients

2018-05-12 Thread Pavel Petroshenko
Igniters,

Are there any strong opinions on which language versions should the Thin
Clients written in Python and PHP support? Any objections to using PHP 7.1+
and Python 3.5+?

Thanks,

p.


Ignite v2.6 release dates

2018-05-11 Thread Pavel Petroshenko
Igniters,

Is the schedule for v2.6 finalized already? If I want a feature/component
I'm working on to get into the release, when should it be (code/feature)
frozen? Thanks.

p.


Re: Node.js client update: rev. 2

2018-04-12 Thread Pavel Petroshenko
Hi Denis,

Thank you for looking at the proposal and raising these questions! We'll
take them to discuss offline and will address your recommendations in the
next revision.

I will let Vladimir comment on the QueryEntity here though to make sure we
are on the same page.

Thanks,

P.


On Thu, Apr 12, 2018 at 2:48 PM, Denis Magda <dma...@apache.org> wrote:

> Hello Pavel,
>
> Thanks for the update. Haven't heard from you guys for a while but seems
> you were too busy polishing the client. Looks great!
>
> Please consider several questions/notes:
>
>- Do we really want to migrate QueryEntity API [1] to Node.JS client? I
>heard we planned to deprecate it in the future. *Vladimir*, please share
>your thoughts.
>- I wouldn't mix key-value and SQL examples together because they
>represent different use cases of Ignite. For the sake of simplicity, I
>would create a single SqlExample file that uses DDL to configure
>tables/cache, inserts data with INSERTS and SELECTs it back (simple
> queries
>and queries with JOINs). We can base it on the database and queries used
>here [2]. Happy to brainstorm on this with you separately.
>-
>
>
> [1]
> https://github.com/nobitlost/ignite/blob/master/modules/
> clients/nodejs/examples/SqlQueryExample.js#L68
> [2] https://apacheignite-sql.readme.io/docs/getting-started
>
> --
> Denis
>
> On Wed, Apr 11, 2018 at 6:45 PM, Pavel Petroshenko <pa...@petroshenko.com>
> wrote:
>
> > Igniters,
> >
> > Just to give you an update on the next iteration of the Ignite Node.js
> thin
> > client implementation.
> >
> > The second iteration is available for review/testing.
> >
> > The changes are available in the pull request [1] or directly from our
> > repository [2].
> >
> > The short README file [3] covers:
> >
> > - the list of supported features
> > - simple instructions:
> >   * how to install the client
> >   * how to run the examples
> >   * how to run the tests
> >
> > And we actually encourage you to give it a look or even a try.
> >
> > The APIs are available both: in sources [4] and in a form of a generated
> > specification, produced automatically from the jsdoc comments [5]
> >
> > Please let us know if you have any questions.
> >
> > Thanks!
> >
> > P.
> >
> > [1] https://github.com/apache/ignite/pull/3680
> > [2] https://github.com/nobitlost/ignite/tree/master/modules/
> clients/nodejs
> > [3] https://github.com/nobitlost/ignite/blob/master/
> > modules/clients/nodejs/README.md
> > [4] https://github.com/nobitlost/ignite/blob/master/
> > modules/clients/nodejs/lib
> > [5] https://rawgit.com/nobitlost/ignite/master/modules/clients/
> nodejs/api_
> > spec/index.html
> >
>


Node.js client update: rev. 2

2018-04-11 Thread Pavel Petroshenko
Igniters,

Just to give you an update on the next iteration of the Ignite Node.js thin
client implementation.

The second iteration is available for review/testing.

The changes are available in the pull request [1] or directly from our
repository [2].

The short README file [3] covers:

- the list of supported features
- simple instructions:
  * how to install the client
  * how to run the examples
  * how to run the tests

And we actually encourage you to give it a look or even a try.

The APIs are available both: in sources [4] and in a form of a generated
specification, produced automatically from the jsdoc comments [5]

Please let us know if you have any questions.

Thanks!

P.

[1] https://github.com/apache/ignite/pull/3680
[2] https://github.com/nobitlost/ignite/tree/master/modules/clients/nodejs
[3] https://github.com/nobitlost/ignite/blob/master/
modules/clients/nodejs/README.md
[4] https://github.com/nobitlost/ignite/blob/master/
modules/clients/nodejs/lib
[5] https://rawgit.com/nobitlost/ignite/master/modules/clients/nodejs/api_
spec/index.html


Re: Thin clients release cycle

2018-04-06 Thread Pavel Petroshenko
>From our point of view option (3) makes the most sense (if it works for the
ASF, as Denis pointed out).
Option (2) implies too much overhead, which may not be worth it.
(1) is the least convenient approach for such independent projects as
Client libs, however it's clear where it comes from. So it is what it is...

Regards,
Pavel


On Fri, Apr 6, 2018 at 2:22 PM, Denis Magda  wrote:

> Regardless of the path taken, the sources have to be located in ASF
> repositories since we agreed to contribute the clients to the Foundation.
>
> Presently, I'm leaning towards the monolithic approach (1) because that's
> just simpler for an ASF project.
>
> The hybrid way (3.) can work out only if ASF INFRA is ok with that.
> Otherwise, we need to get a permit to host many ignite-...-client projects
> separately. It's unlikely our ASF mates approve that. The reason is weak.
>
> --
> Denis
>
> On Fri, Apr 6, 2018 at 11:32 AM, Pavel Tupitsyn 
> wrote:
>
> > Vladimir, can you clarify your ideas from Apache projects standpoint?
> >
> > Do you propose (1) to create new apache projects for every client (or for
> > all of them)
> > Or (2) move thin clients OUT of Apache ecosystem and simply host them on
> > Github?
> >
> > I think none of these will fly with ASF.
> > I am strongly for Monolith and following ASF guidelines and releases.
> >
> > We can increase release frequency if you want to be "agile".
> >
> > Thanks,
> > Pavel
> >
> > On Fri, Apr 6, 2018 at 4:49 PM, Petr Ivanov  wrote:
> >
> > > I would vote for single repository and the following release scheme: we
> > > build and release everything, but deliver only that modules, which have
> > > actual features / bugfixes, skipping other from release iteration until
> > new
> > > changes come into them.
> > >
> > > Also, I’d propose versioning scheme, that will reflect Apache Ignite’s
> > > compatibility, i.e. if thin client requires features from Apache Ignite
> > > 2.4, then it’s own version will be 2.4.A.B (where A - own major
> version,
> > > that will be reset every new Apache Release, B - minor/fix version for
> > > minor / quick fixes goals that will be reset every new A version).
> > >
> > >
> > >
> > > > On 6 Apr 2018, at 16:15, Vladimir Ozerov 
> wrote:
> > > >
> > > > Igniters,
> > > >
> > > > Over the last year we saw dramatic increase in demand for lightweight
> > > thin
> > > > clients. We already have four: JDBC, ODBC, .NET, Java. In future we
> are
> > > > going to have even more: NodeJS, PHP, Python, Go, whatever. I'd like
> to
> > > > start a discussion on how are we going to host them. There are
> several
> > > > approaches.
> > > >
> > > > 1) *Monolith* - everything is hosted in a single repository and
> > released
> > > as
> > > > a single artifact. This is our current approach.
> > > >
> > > > Pros:
> > > > - Easy to manage
> > > > Cons
> > > > - Long release cycle
> > > > - Client features must be developed in sync with each other which
> would
> > > be
> > > > very hard should we have > 5-6 different clients:
> > > >
> > > > 2) *Modules* - clients are moved to separate repositories with their
> > own
> > > > release cycles. JDBC is released separately, ODBC separately, .NET
> > > > separately, Java (guess what?) - separately, etc..They could have
> > > different
> > > > timelines, different feature sets, different release notes, different
> > > > versions. This is natural approach employed by multitude of vendors.
> > > When
> > > > new feature is added we do not need to wait for Apache Ignite
> release.
> > > > Instead, we release only small client on it's own.
> > > > Pros:
> > > > - Fast and (sorry) agile release cycle!
> > > > - No need to wait for months for new Ignite version
> > > > - No need to sync features between different clients
> > > > Cons:
> > > > - More votes, more artifacts, more release-related code and scripts
> > > >
> > > > 3) *Hybrid* - all clients are hosted in a single separate repository
> > and
> > > > released in sync with each other, but not with Apache Ignite.
> Balanced
> > > mix
> > > > of pros/cons from #1 and #2 approaches.
> > > > Pros:
> > > > - Relatively fast release cycle
> > > > Cons:
> > > > - Still need to sync features between clients
> > > >
> > > > I think that we should start moving our clients to #2 or #3
> approaches
> > to
> > > > get greater momentum from community, What do you think?
> > > >
> > > > Vladimir.
> > >
> > >
> >
>


Request for the Binary Protocol spec improvement

2018-03-24 Thread Pavel Petroshenko
Igniters,

Just to keep everyone posted, we've filed the issue to improve the Binary
Client Protocol specification:

https://issues.apache.org/jira/browse/IGNITE-8039

We'll keep it updated with more findings.

If someone can help with cleaning it up and addressing the questions in the
spec, that would be great.

Thanks,
Pavel