Hi Alexey, Thank you very much for detail answer.
Thanks, Aleksandr Thanks, Aleksandr On 30 April 2018 at 19:48, Alexey Kosenchuk <alexey.kosenc...@nobitlost.com> wrote: > Hi Aleksandr, > > > 1) Is SSL\TLS supported for binary client protocol? > > It has no direct relation to the binary client protocol itself. > Just need to establish https connection. > But you need to setup Ignite to accept TLS (it's not trivial). > And generate certificates and keys. > > Example of the Ignite cfg: > https://github.com/apache/ignite/blob/master/modules/platfor > ms/cpp/odbc-test/config/queries-ssl.xml > Example of the SSL certificates and keys: > https://github.com/apache/ignite/tree/master/modules/platfor > ms/cpp/odbc-test/config/ssl > Test for Java client: > https://github.com/apache/ignite/blob/master/modules/indexin > g/src/test/java/org/apache/ignite/client/SecurityTest.java#L57 > > > 2) Are authentication and authorization supported for binary client > > protocol? > > Seems it's not documented yet. > But yes, it's supported since protocol version 1.1.0. > > Handshake format: > [original handshake][username:String][password:String] > > Example of implementation: > https://github.com/nobitlost/ignite/blob/master/modules/clie > nts/nodejs/lib/internal/ClientSocket.js > method _handshakePayloadWriter() > > In Ignite you need to switch authentication on by the flag > IgniteConfiguration.authenticationEnabled > > Example of the Ignite cfg: > https://github.com/apache/ignite/blob/master/modules/platfor > ms/cpp/odbc-test/config/queries-auth.xml > > Default user (username/password) : ignite/ignite > > Regards, > -Alexey > > 30.04.2018 17:49, Aleksandr Sokolovskii пишет: > >> Hi Alexey, >> >> Do you have info about the following: >> >> 1) Is SSL\TLS supported for binary client protocol? >> >> 2) Are authentication and authorization supported for binary client >> protocol? >> >> Thanks, >> >> Aleksandr >> >> *From: *Aleksandr Sokolovskii <mailto:amso...@gmail.com> >> *Sent: *25 апреля 2018 г. 16:37 >> *To: *dev@ignite.apache.org <mailto:dev@ignite.apache.org> >> *Subject: *RE: Apache Ignite 2.4+ Go language client >> >> Yes, it’s really challenge to write unit test for OP_QUERY_SQL. ))) >> >> Thanks, >> Aleksandr >> >> *From: *Alexey Kosenchuk <mailto:alexey.kosenc...@nobitlost.com> >> *Sent: *25 апреля 2018 г. 16:33 >> *To: *dev@ignite.apache.org <mailto:dev@ignite.apache.org> >> *Subject: *Re: Apache Ignite 2.4+ Go language client >> >> >> No problem with OP_QUERY_SQL_FIELDS. >> >> I mean OP_QUERY_SQL. >> >> But I overlooked "OP_QUERY_SQL - Done without unit test. Need help to >> >> develop unit test." >> >> Sorry. I remove my question so far))) >> >> Thanks, >> >> -Alexey >> >> 25.04.2018 15:40, Aleksandr Sokolovskii пишет: >> >> > Hi Alexey, >> >> > >> >> >> Seems an important missed part is complex objects support. >> >> >> And it's the most difficult part. >> >> > Yes, you are absolutely right. >> >> > Complex object and binary types are not supported by my client now. >> >> > That’s why I’m here. >> >> > I plan to come back to this subject in the beginning of May. >> >> > I very much count on the community help. >> >> > >> >> >> Also, do you have a working example for SQL Query which first inserts >> >> >> cache entries and then selects them and successfully get the same >> values >> >> >> which were inserted ? >> >> > Yes, it works fine. >> >> > This one: >> >> > https://github.com/amsokol/ignite-go-client/blob/master/bina >> ry/v1/client-sql-and-scan-queries_test.go#L89 >> >> > It’s OP_QUERY_SQL_FIELDS operation unit test. >> >> > It you are familiar with Go it’s easy to run in debug mode. >> >> > >> >> > If you explain me your problem I can try to help you. >> >> > There some mistakes in binary protocol documentation. >> >> > So I spent a lot of time in Apache Ignite server source code analyzing >> ))) >> >> > >> >> > Thanks, >> >> > Aleksandr >> >> > >> >> > From: Alexey Kosenchuk >> >> > Sent: 25 апреля 2018 г. 12:05 >> >> > To: dev@ignite.apache.org >> >> > Subject: Re: Apache Ignite 2.4+ Go language client >> >> > >> >> > Hi Aleksandr, >> >> > >> >> > Seems an important missed part is complex objects support. >> >> > And it's the most difficult part. >> >> > Actually, it is not possible to implement it correctly basing on the >> >> > current protocol spec only. >> >> > If you decide to support it, you should either wait for an updated spec >> >> > or ask for help. >> >> > >> >> > The issues against the current protocol spec are summarized in >> >> > IGNITE-8039 [1] and IGNITE-8212 [2]. One more jira with the issues >> >> > against the rest of the spec will be submitted soon. >> >> > If you see more issues, please feel free to added them as comments to >> >> > that jiras. >> >> > >> >> > Also, do you have a working example for SQL Query which first inserts >> >> > cache entries and then selects them and successfully get the same >> values >> >> > which were inserted ? >> >> > >> >> > Thanks, >> >> > -Alexey >> >> > >> >> > [1] https://issues.apache.org/jira/browse/IGNITE-8039 >> >> > [2] https://issues.apache.org/jira/browse/IGNITE-8212 >> >> > >> >> > 25.04.2018 0:11, Aleksandr Sokolovskii пишет: >> >> >> ...forgot OP_RESOURCE_CLOSE that is implemented also. >> >> >> >> >> >> Thanks, >> >> >> Aleksandr >> >> >> >> >> >> Thanks, >> >> >> Aleksandr >> >> >> >> >> >> On 25 April 2018 at 00:06, Aleksandr Sokolovskii <amso...@gmail.com> >> wrote: >> >> >> >> >> >>> Hello All, >> >> >>> >> >> >>> Besides the SQL driver I implemented the following operations also: >> >> >>> OP_CACHE_GET_NAMES >> >> >>> OP_CACHE_CREATE_WITH_NAME >> >> >>> OP_CACHE_GET_OR_CREATE_WITH_NAME >> >> >>> OP_CACHE_CREATE_WITH_CONFIGURATION >> >> >>> OP_CACHE_GET_OR_CREATE_WITH_CONFIGURATION >> >> >>> OP_CACHE_GET_CONFIGURATION >> >> >>> OP_CACHE_DESTROY >> >> >>> OP_CACHE_GET >> >> >>> OP_CACHE_PUT >> >> >>> OP_CACHE_PUT_IF_ABSENT >> >> >>> OP_CACHE_GET_ALL >> >> >>> OP_CACHE_PUT_ALL >> >> >>> OP_CACHE_GET_AND_PUT >> >> >>> OP_CACHE_GET_AND_REPLACE >> >> >>> OP_CACHE_GET_AND_REMOVE >> >> >>> OP_CACHE_GET_AND_PUT_IF_ABSENT >> >> >>> OP_CACHE_REPLACE >> >> >>> OP_CACHE_REPLACE_IF_EQUALS >> >> >>> OP_CACHE_CONTAINS_KEY >> >> >>> OP_CACHE_CONTAINS_KEYS >> >> >>> OP_CACHE_CLEAR >> >> >>> OP_CACHE_CLEAR_KEY >> >> >>> OP_CACHE_CLEAR_KEYS >> >> >>> OP_CACHE_REMOVE_KEY >> >> >>> OP_CACHE_REMOVE_IF_EQUALS >> >> >>> OP_CACHE_REMOVE_KEYS >> >> >>> OP_CACHE_REMOVE_ALL >> >> >>> OP_CACHE_GET_SIZE >> >> >>> OP_QUERY_SQL >> >> >>> OP_QUERY_SQL_CURSOR_GET_PAGE >> >> >>> OP_QUERY_SQL_FIELDS >> >> >>> OP_QUERY_SQL_FIELDS_CURSOR_GET_PAGE >> >> >>> >> >> >>> Look at the Client interface here: >> >> >>> https://github.com/amsokol/ignite-go-client/blob/master/ >> >> >>> binary/v1/client.go >> >> >>> >> >> >>> But not all Apache Ignite types are supported now. >> >> >>> See README in https://github.com/amsokol/ignite-go-client for >> details. >> >> >>> >> >> >>> Thanks, >> >> >>> Aleksandr >> >> >>> >> >> >>> >> >> >>> >> >> >>> Thanks, >> >> >>> Aleksandr >> >> >>> >> >> >>> On 24 April 2018 at 13:16, Igor Sapego <isap...@apache.org> wrote: >> >> >>> >> >> >>>> Aleksandr, >> >> >>>> >> >> >>>> Great job! Do you have any plans on adding new features to >> >> >>>> your client? >> >> >>>> >> >> >>>> Pavel, >> >> >>>> >> >> >>>> There are also CacheGet and CachePut [1] operations, as >> >> >>>> far as I can see. >> >> >>>> >> >> >>>> [1] - >> >> >>>> https://github.com/amsokol/ignite-go-client/blob/master/bina >> >> >>>> ry/v1/client.go#L120 >> >> >>>> >> >> >>>> Best Regards, >> >> >>>> Igor >> >> >>>> >> >> >>>> On Tue, Apr 24, 2018 at 10:14 AM, Dmitriy Setrakyan < >> >> >>>> dsetrak...@apache.org> >> >> >>>> wrote: >> >> >>>> >> >> >>>>> Any chance we can add key-value support as well? >> >> >>>>> >> >> >>>>> On Tue, Apr 24, 2018, 2:48 PM Pavel Tupitsyn <ptupit...@apache.org >> > >> >> >>>> wrote: >> >> >>>>> >> >> >>>>>> Hi Aleksandr, >> >> >>>>>> >> >> >>>>>> This is awesome, thank you! >> >> >>>>>> >> >> >>>>>> However, let's make it clear that this client supports SQL only, >> >> >>>>>> and none of the other Thin Client protocol features. >> >> >>>>>> >> >> >>>>>> Pavel >> >> >>>>>> >> >> >>>>>> On Mon, Apr 23, 2018 at 10:41 PM, Aleksandr Sokolovskii < >> >> >>>>> amso...@gmail.com >> >> >>>>>>> >> >> >>>>>> wrote: >> >> >>>>>> >> >> >>>>>>> Hi Oleg, >> >> >>>>>>> >> >> >>>>>>> Thanks for your answer. >> >> >>>>>>> >> >> >>>>>>>> Community is currently working on formal test specification. >> >> >>>>>>> Great. Waiting for this one. >> >> >>>>>>> >> >> >>>>>>>> As far as NodeJS please note that it is already being developed >> by >> >> >>>>>>> community at the moment [1]. >> >> >>>>>>> Cool. I stop my initiatives. >> >> >>>>>>> >> >> >>>>>>> Thanks, >> >> >>>>>>> Aleksandr >> >> >>>>>>> >> >> >>>>>>> From: Vladimir Ozerov >> >> >>>>>>> Sent: 23 апреля 2018 г. 22:35 >> >> >>>>>>> To: dev@ignite.apache.org >> >> >>>>>>> Subject: Re: Apache Ignite 2.4+ Go language client >> >> >>>>>>> >> >> >>>>>>> Hi Alexander, >> >> >>>>>>> >> >> >>>>>>> Awesome thing! Please note that before accepting the client we >> need >> >> >>>> to >> >> >>>>>> make >> >> >>>>>>> sure it is operational. Community is currently working on formal >> >> >>>> test >> >> >>>>>>> specification. I hope it will be ready soon. >> >> >>>>>>> >> >> >>>>>>> As far as NodeJS please note that it is already being developed >> by >> >> >>>>>>> community at the moment [1]. We hope to have it in Apache Ignite >> >> >>>> 2.6. >> >> >>>>>>> >> >> >>>>>>> [1] >> >> >>>>>>> https://issues.apache.org/jira/browse/IGNITE-7777 >> >> >>>>>>> >> >> >>>>>>> пн, 23 апр. 2018 г. в 22:24, Aleksandr Sokolovskii < >> >> >>>> amso...@gmail.com >> >> >>>>>> : >> >> >>>>>>> >> >> >>>>>>>> Hi All, >> >> >>>>>>>> >> >> >>>>>>>> I hope you are well. >> >> >>>>>>>> >> >> >>>>>>>> I released Apache Ignite 2.4+ Go language client: >> >> >>>>>>>> https://github.com/apache-ignite/go-client >> >> >>>>>>>> >> >> >>>>>>>> I updated link here: >> >> >>>>>>>> https://github.com/golang/go/wiki/SQLDrivers >> >> >>>>>>>> >> >> >>>>>>>> Is it possible to add link to my repo to this page?: >> >> >>>>>>>> https://apacheignite.readme.io/docs/binary-client-protocol >> >> >>>>>>>> or this page: >> >> >>>>>>>> https://apacheignite-net.readme.io/docs/thin-client >> >> >>>>>>>> Golang is much more easy to understand than Java or С#. >> >> >>>>>>>> It’s very easy to pull, build and run test for my library. >> >> >>>>>>>> I believe it helps another guys to write more thin clients. >> >> >>>>>>>> >> >> >>>>>>>> P.S.: I started developing Node.js client also. >> >> >>>>>>>> >> >> >>>>>>>> Thanks, >> >> >>>>>>>> Aleksandr >> >> >>>>>>>> >> >> >>>>>>>> >> >> >>>>>>> >> >> >>>>>>> >> >> >>>>>> >> >> >>>>> >> >> >>>> >> >> >>> >> >> >>> >> >> >> >> >> > >> >> > >> >>