Re: NodeJS thin client: full API
Thanks for issuing a ticket. I'll take a look at it. Best Regards, Igor On Fri, Apr 23, 2021 at 1:40 PM teligenz.dheeraj wrote: > Team, > > I have used nodejs thin client to connect ignite. With single query at time > on socket works fine. But when hit multiple request simultaneously, getting > frequent error message "Invalid response id: XXX". > > when we try to get 5-10 query per sec we getting below error random times. > > debug - Error: Invalid response id: 4122254909997320969at > /webapp/node_modules/apache-ignite-client/lib/internal/ClientSocket.js:344:28 > > at Map.forEach ()at ClientSocket._disconnect > (/webapp/node_modules/apache-ignite-client/lib/internal/ClientSocket.js:343:24) > > at Socket. > (/webapp/node_modules/apache-ignite-client/lib/internal/ClientSocket.js:170:22) > > at runMicrotasks ()at processTicksAndRejections > > I have mark complete issue detail in on https://issues.apache.org/ with > issue id IGNITE-14550 > > https://issues.apache.org/jira/browse/IGNITE-14550 > > > > -- > Sent from: http://apache-ignite-developers.2346864.n4.nabble.com/ >
Re: NodeJS thin client: full API
Team, I have used nodejs thin client to connect ignite. With single query at time on socket works fine. But when hit multiple request simultaneously, getting frequent error message "Invalid response id: XXX". when we try to get 5-10 query per sec we getting below error random times. debug - Error: Invalid response id: 4122254909997320969at /webapp/node_modules/apache-ignite-client/lib/internal/ClientSocket.js:344:28 at Map.forEach ()at ClientSocket._disconnect (/webapp/node_modules/apache-ignite-client/lib/internal/ClientSocket.js:343:24) at Socket. (/webapp/node_modules/apache-ignite-client/lib/internal/ClientSocket.js:170:22) at runMicrotasks ()at processTicksAndRejections I have mark complete issue detail in on https://issues.apache.org/ with issue id IGNITE-14550 https://issues.apache.org/jira/browse/IGNITE-14550 -- Sent from: http://apache-ignite-developers.2346864.n4.nabble.com/
Re: NodeJS thin client: full API
Done for NodeJs and PHP. Tests added as well. https://issues.apache.org/jira/browse/IGNITE-10022 https://github.com/apache/ignite/pull/5187 -Alexey 24.10.2018 17:41, Igor Sapego пишет: 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
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
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
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
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
Also it would be better to set the 'atomic' cache to PARTITIONED mode to equally split the data across all available nodes. This can be done by setting the 'cacheMode' property to 'PARTITIONED'. Please see [1]. Ivan [1] https://gist.github.com/iartiukhov/c02385d265330e2c9192931759616f95#file-example-cache-xml чт, 14 июн. 2018 г. в 9:26, Иван Артюхов : > Hi Pavel, > > Thanks for trying to run the benchmark. The error arises because an Apache > Ignite node started with the default config does not have the cache with > name '*atomic*'. To run the benchmark you should do the following: > >1. Checkout latest '*master*' branch from Apache Ignite repo [1]. >2. Compile, install and assembly the Apache Ignite build as described >in DEVNOTES.txt, section "Ignite Fabric Maven Build Instructions", clauses >2 and 4. >3. Unzip the assembly file '*target/bin/apache-ignite-fabric-*-bin.zip* >'. >4. Cd to target folder, open '*examples/config/example-cache.xml*' >with an editor, find the ' >*org.apache.ignite.configuration.CacheConfiguration*' section and >rename '*default*' cache to '*atomic*'. >5. Start local Apache Ignite node with this config: '*./bin/ignite.sh >examples/config/example-cache.xml*'. Either start one more local node >the same way or set one endpoint in *CachePut.js* (via *ENDPOINT* >constant). >6. Start the benchmark: '*node bench-starter.js*'. > > Please let me know if you experience any other problems. > > Thanks, > Ivan > > [1] https://github.com/apache/ignite/ > > вс, 10 июн. 2018 г. в 23:17, 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" > > s
Re: NodeJS thin client: full API
Hi Pavel, Thanks for trying to run the benchmark. The error arises because an Apache Ignite node started with the default config does not have the cache with name '*atomic*'. To run the benchmark you should do the following: 1. Checkout latest '*master*' branch from Apache Ignite repo [1]. 2. Compile, install and assembly the Apache Ignite build as described in DEVNOTES.txt, section "Ignite Fabric Maven Build Instructions", clauses 2 and 4. 3. Unzip the assembly file '*target/bin/apache-ignite-fabric-*-bin.zip*'. 4. Cd to target folder, open '*examples/config/example-cache.xml*' with an editor, find the '*org.apache.ignite.configuration.CacheConfiguration*' section and rename '*default*' cache to '*atomic*'. 5. Start local Apache Ignite node with this config: '*./bin/ignite.sh examples/config/example-cache.xml*'. Either start one more local node the same way or set one endpoint in *CachePut.js* (via *ENDPOINT* constant). 6. Start the benchmark: '*node bench-starter.js*'. Please let me know if you experience any other problems. Thanks, Ivan [1] https://github.com/apache/ignite/ вс, 10 июн. 2018 г. в 23:17, 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: >>> > > >> >>> > > >> > A
Re: NodeJS thin client: full API
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: NodeJS thin client: full API
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: NodeJS thin client: full API
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 > 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: NodeJS thin client: full API
Hi Pavel, Thanks for prompt improvements. I'll check them this week. -- Denis On Sun, May 27, 2018 at 5:04 PM, Pavel Petroshenko 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 > > 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: NodeJS thin client: full API
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 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: NodeJS thin client: full API
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: NodeJS thin client: full API
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: NodeJS thin client: full API
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: NodeJS thin client: full API
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: NodeJS thin client: full API
Alexey, If a lib is contributed to Ignite (accepted to its main sources like the node.js thin client), then the documentation has to be in a single place which is readme.io for now. Having the docs both on readme.io and in sources is confusing and harder to maintain. If a lib doesn't not a part of Ignite distribution (like the beforementioned Go or Python clients), then its doc is located in some other place. -- Denis On Sat, May 12, 2018 at 2:15 AM, Alexey Kosenchuk < alexey.kosenc...@nobitlost.com> wrote: > Denis, > > OK for the legacy docs. > > Agree for the core docs (specs, common getting started, etc.). > > But who/what does mandate that for totally all Ignite related docs? > > Why do not follow an approach which many technologies/products follow? - > maintain a centralized list of references to different client libs/SDKs > (sometimes even alternative libs for the same language/platform). > It is possible to mention a "status" of every lib - is it "verified" > (fully tested, fully documented, etc.) or just a prototype... > And it is not mandated that every lib must be developed/released under > Apache... > > The list could already have references to: > - java client > - .net client > - node.js client (as early access) > - Go client by Aleksandr S. (as prototype) > - Python client by Sergey K. (as prototype) > > With this approach the docs naturally come together with a concrete > client, but may be cross-referenced on readme.io for some clients as > well... > > -Alexey > > 12.05.2018 6:37, Denis Magda пишет: > > Alexey, >> >> Presently, Ignite hosts all the docs in readme.io without exception. It >> means that once your contribution is accepted by the community the Node.JS >> docs should be placed on readme.io. >> >> You're right saying that we're planning to migrate from readme.io to >> another documentation engine that would allow us storing doc sources in >> Ignite repo. It might happen by 2.6 or might take longer. >> >> Thus, we need to host the Node.JS docs on readme.io and edit them there >> once your pull-request is merged (it means there wouldn't be docs' copy >> added to Ignite repo for now). It's easy to move the docs to readme.io >> which understands the standard markdown. I'll ask Prachi to assist here. >> >> -- >> Denis >> >> On Fri, May 11, 2018 at 1:45 PM, Alexey Kosenchuk < >> alexey.kosenc...@nobitlost.com> wrote: >> >> Denis, >>> >>> As for the docs, are you ready to bring them to readme.io? Just let me >>> know >>> and I'll be happy to arrange an account for you and discuss the >>> structure. >>> >>> I remember some discussion regarding moving the docs from readme.io to >>> GitHub pages in 2.6. >>> No? >>> >>> In any case, in my opinion, a readme near the code is a right primary >>> place for the docs for thin clients. >>> Is there any script/automation to convert .md to readme.io? >>> Or maybe just place a link from the readme.io to the repo readme? >>> Manual support of the same docs in two places seems not an effective >>> solution. >>> >>> The docs for NodeJS client is ready for review in the repo. >>> The links and the installation procedure will have to be updated when the >>> client is integrated into the apache repo and released on npmjs. >>> >>> -Alexey >>> >>> >>
Re: NodeJS thin client: full API
- Let's rename SqlDataProcessingExample.js to just SqlExample.js and describe it as an example that shows primary APIs to use with Ignite as with an SQL database. - Let's rename SqlQueryExample.js to SqlQueryEntiriesExample.js. Updated.
Re: NodeJS thin client: full API
Denis, OK for the legacy docs. Agree for the core docs (specs, common getting started, etc.). But who/what does mandate that for totally all Ignite related docs? Why do not follow an approach which many technologies/products follow? - maintain a centralized list of references to different client libs/SDKs (sometimes even alternative libs for the same language/platform). It is possible to mention a "status" of every lib - is it "verified" (fully tested, fully documented, etc.) or just a prototype... And it is not mandated that every lib must be developed/released under Apache... The list could already have references to: - java client - .net client - node.js client (as early access) - Go client by Aleksandr S. (as prototype) - Python client by Sergey K. (as prototype) With this approach the docs naturally come together with a concrete client, but may be cross-referenced on readme.io for some clients as well... -Alexey 12.05.2018 6:37, Denis Magda пишет: Alexey, Presently, Ignite hosts all the docs in readme.io without exception. It means that once your contribution is accepted by the community the Node.JS docs should be placed on readme.io. You're right saying that we're planning to migrate from readme.io to another documentation engine that would allow us storing doc sources in Ignite repo. It might happen by 2.6 or might take longer. Thus, we need to host the Node.JS docs on readme.io and edit them there once your pull-request is merged (it means there wouldn't be docs' copy added to Ignite repo for now). It's easy to move the docs to readme.io which understands the standard markdown. I'll ask Prachi to assist here. -- Denis On Fri, May 11, 2018 at 1:45 PM, Alexey Kosenchuk < alexey.kosenc...@nobitlost.com> wrote: Denis, As for the docs, are you ready to bring them to readme.io? Just let me know and I'll be happy to arrange an account for you and discuss the structure. I remember some discussion regarding moving the docs from readme.io to GitHub pages in 2.6. No? In any case, in my opinion, a readme near the code is a right primary place for the docs for thin clients. Is there any script/automation to convert .md to readme.io? Or maybe just place a link from the readme.io to the repo readme? Manual support of the same docs in two places seems not an effective solution. The docs for NodeJS client is ready for review in the repo. The links and the installation procedure will have to be updated when the client is integrated into the apache repo and released on npmjs. -Alexey
Re: NodeJS thin client: full API
Alexey, Presently, Ignite hosts all the docs in readme.io without exception. It means that once your contribution is accepted by the community the Node.JS docs should be placed on readme.io. You're right saying that we're planning to migrate from readme.io to another documentation engine that would allow us storing doc sources in Ignite repo. It might happen by 2.6 or might take longer. Thus, we need to host the Node.JS docs on readme.io and edit them there once your pull-request is merged (it means there wouldn't be docs' copy added to Ignite repo for now). It's easy to move the docs to readme.io which understands the standard markdown. I'll ask Prachi to assist here. -- Denis On Fri, May 11, 2018 at 1:45 PM, Alexey Kosenchuk < alexey.kosenc...@nobitlost.com> wrote: > Denis, > > > As for the docs, are you ready to bring them to readme.io? Just let me > know > > and I'll be happy to arrange an account for you and discuss the > structure. > > I remember some discussion regarding moving the docs from readme.io to > GitHub pages in 2.6. > No? > > In any case, in my opinion, a readme near the code is a right primary > place for the docs for thin clients. > Is there any script/automation to convert .md to readme.io? > Or maybe just place a link from the readme.io to the repo readme? > Manual support of the same docs in two places seems not an effective > solution. > > The docs for NodeJS client is ready for review in the repo. > The links and the installation procedure will have to be updated when the > client is integrated into the apache repo and released on npmjs. > > -Alexey >
Re: NodeJS thin client: full API
Denis, > As for the docs, are you ready to bring them to readme.io? Just let me know > and I'll be happy to arrange an account for you and discuss the structure. I remember some discussion regarding moving the docs from readme.io to GitHub pages in 2.6. No? In any case, in my opinion, a readme near the code is a right primary place for the docs for thin clients. Is there any script/automation to convert .md to readme.io? Or maybe just place a link from the readme.io to the repo readme? Manual support of the same docs in two places seems not an effective solution. The docs for NodeJS client is ready for review in the repo. The links and the installation procedure will have to be updated when the client is integrated into the apache repo and released on npmjs. -Alexey
Re: NodeJS thin client: full API
Alexey, Amazing progress and the overall state of the contribution! I'll try to install and play with the client in the nearest days. As for now, please consider the following suggestions. Please do the following changes: - Let's rename SqlDataProcessingExample.js to just SqlExample.js and describe it as an example that shows primary APIs to use with Ignite as with an SQL database. - Let's rename SqlQueryExample.js to SqlQueryEntiriesExample.js. As for the docs, are you ready to bring them to readme.io? Just let me know and I'll be happy to arrange an account for you and discuss the structure. -- Denis On Thu, May 10, 2018 at 4:07 PM, Alexey Kosenchuk < alexey.kosenc...@nobitlost.com> wrote: > Folks, > > The next version is ready - > in the pull request [1] or directly in the repo [2]. > > The version includes: > - full API > - full implementation > - examples > - tests (cover the full API but might need to be updated/extended) > - docs > > The details are in the readme [3] > > Regards, > -Alexey > > [1] https://github.com/apache/ignite/pull/3978 > [2] https://github.com/nobitlost/ignite/tree/master/modules/plat > forms/nodejs > [3] https://github.com/nobitlost/ignite/blob/master/modules/plat > forms/nodejs/README.md >
Re: NodeJS thin client: full API
Hi Igor, all types from the protocol v.2.4 are supported for both read and write. See [1] for the mappings and explanation. The idea is to minimize additional non-standard and/or 3rd-party JavaScript Objects for that. Timestamp and Enum require additional classes - no better options were found. So, Timestamp and EnumItem classes have been introduced. For Decimal - a 3rd-party Decimal type [2] seems the best choice and is utilized. For all other Ignite types - only standard JavaScript types and Objects are used. Eg. for UUID - it is simply an array of numbers (16-elements). Regards, -Alexey [1] https://rawgit.com/nobitlost/ignite/master/modules/platforms/nodejs/api_spec/ObjectType.html [2] https://github.com/MikeMcl/decimal.js 11.05.2018 19:38, Igor Sapego пишет: Alexey, I've checked out the code. Looks good to me. Great job! What about data types support? I can see Timestamp. Are you planning to implement other types, e.g. Decimal, Guid? Best Regards, Igor On Fri, May 11, 2018 at 11:43 AM, Dmitriy Setrakyan wrote: On Fri, May 11, 2018 at 9:14 AM, Alexey Kosenchuk < alexey.kosenc...@nobitlost.com> wrote: Not yet. Need a help with that. I think we definitely need a load test before we merge to master. Can anyone in the community assist Alexey?
Re: NodeJS thin client: full API
Alexey, I've checked out the code. Looks good to me. Great job! What about data types support? I can see Timestamp. Are you planning to implement other types, e.g. Decimal, Guid? Best Regards, Igor On Fri, May 11, 2018 at 11:43 AM, Dmitriy Setrakyan wrote: > On Fri, May 11, 2018 at 9:14 AM, Alexey Kosenchuk < > alexey.kosenc...@nobitlost.com> wrote: > > > Not yet. Need a help with that. > > > > I think we definitely need a load test before we merge to master. Can > anyone in the community assist Alexey? >
Re: NodeJS thin client: full API
On Fri, May 11, 2018 at 9:14 AM, Alexey Kosenchuk < alexey.kosenc...@nobitlost.com> wrote: > Not yet. Need a help with that. > I think we definitely need a load test before we merge to master. Can anyone in the community assist Alexey?
Re: NodeJS thin client: full API
Not yet. Need a help with that. -Alexey 11.05.2018 10:58, Dmitriy Setrakyan пишет: This is great! Finally a native NodeJS client for Ignite. Alexey, in addition to the functional tests, were you able to perform any load tests? D. On Fri, May 11, 2018 at 12:07 AM, Alexey Kosenchuk < alexey.kosenc...@nobitlost.com> wrote: Folks, The next version is ready - in the pull request [1] or directly in the repo [2]. The version includes: - full API - full implementation - examples - tests (cover the full API but might need to be updated/extended) - docs The details are in the readme [3] Regards, -Alexey [1] https://github.com/apache/ignite/pull/3978 [2] https://github.com/nobitlost/ignite/tree/master/modules/plat forms/nodejs [3] https://github.com/nobitlost/ignite/blob/master/modules/plat forms/nodejs/README.md
Re: NodeJS thin client: full API
This is great! Finally a native NodeJS client for Ignite. Alexey, in addition to the functional tests, were you able to perform any load tests? D. On Fri, May 11, 2018 at 12:07 AM, Alexey Kosenchuk < alexey.kosenc...@nobitlost.com> wrote: > Folks, > > The next version is ready - > in the pull request [1] or directly in the repo [2]. > > The version includes: > - full API > - full implementation > - examples > - tests (cover the full API but might need to be updated/extended) > - docs > > The details are in the readme [3] > > Regards, > -Alexey > > [1] https://github.com/apache/ignite/pull/3978 > [2] https://github.com/nobitlost/ignite/tree/master/modules/plat > forms/nodejs > [3] https://github.com/nobitlost/ignite/blob/master/modules/plat > forms/nodejs/README.md >