Re: C++ thin/thick client: how do a do SQL queries on a distant server?

2019-05-27 Thread Павлухин Иван
Hi j.david,

It seems that here is answer
http://apache-ignite-users.70518.x6.nabble.com/SQL-API-in-C-thin-client-td28128.html

Also, generally u...@ignite.apache.org mail list is suitable for such
questions. On dev list discussions related to contribution usually
take place.

вт, 28 мая 2019 г. в 01:06, j.da...@qwant.com :
>
> Everything is in the title.
>
> I'd like to either manipulate SQL queries or serialized Object on a distant
> ignite cluster,
> but so far, I only found how to define endPoints on the thin client
> configuration (nothing equivalent
> on the thick client).
> I haven't found how to do anything else than key/scalar-value using the thin
> client.
>
> Thx in advance
>
>
>
> --
> Sent from: http://apache-ignite-developers.2346864.n4.nabble.com/



-- 
Best regards,
Ivan Pavlukhin


C++ thin/thick client: how do a do SQL queries on a distant server?

2019-05-27 Thread j.da...@qwant.com
Everything is in the title.

I'd like to either manipulate SQL queries or serialized Object on a distant
ignite cluster,
but so far, I only found how to define endPoints on the thin client
configuration (nothing equivalent
on the thick client).
I haven't found how to do anything else than key/scalar-value using the thin
client.

Thx in advance



--
Sent from: http://apache-ignite-developers.2346864.n4.nabble.com/


[jira] [Created] (IGNITE-11874) Fix mismatch between idle_verify results with and without -dump option.

2019-05-27 Thread Denis Chudov (JIRA)
Denis Chudov created IGNITE-11874:
-

 Summary: Fix mismatch between idle_verify results with and without 
-dump option.
 Key: IGNITE-11874
 URL: https://issues.apache.org/jira/browse/IGNITE-11874
 Project: Ignite
  Issue Type: Bug
Reporter: Denis Chudov
Assignee: Denis Chudov






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


Re: Thin client: transactions support

2019-05-27 Thread Alex Plehanov
Ivan,

Yes, .NET client has such capability. Pavel Tupitsyn already mentions it in
this thread. As far as I understand, in .NET client implementation to
dispatch responses dedicated thread is used.
In a draft implementation of IGNITE-11685 I've used another approach: each
request thread can read a response (if lock is acquired by this thread
successfully) and complete a future of its own request or another threads
request.

пн, 27 мая 2019 г. в 13:01, Павлухин Иван :

> Alex,
>
> I am quite curious about async implementations from other clients. Is
> there any design document describing such implementations? Does .NET
> client have such capability?
>
> Actually, I forgot to finish my previous message. One of my concerns
> is that a concurrent response dispatch does not sound as a trivial
> thing. So, I would like to understand if we already have a good
> approach for that. If not then I suppose it worth a discussion.
>
> пн, 27 мая 2019 г. в 12:51, Alex Plehanov :
> >
> > Hi Ivan.
> >
> > Thin client transactions support is not only for java thin client. There
> > are other clients, some of them already work in async mode.
> > Ticket IGNITE-11685 already has draft implementation too, but now it's
> > based on some changes to java thin client which were made by "transaction
> > support" implementation. I think this ticket will be ready in a couple of
> > days after "transaction support" will be merged. And both patches will be
> > included in the same release.
> >
> > пн, 27 мая 2019 г. в 11:57, Павлухин Иван :
> >
> > > Hi Alex,
> > >
> > > Regarding a problem with possible deadlock when two concurrent
> > > transactions from the same client are trying to lock the same key and
> > > an issue [1]. It seems to me that without fixing the issue [1] a
> > > client transactions feature is not practical. Everyone who uses a
> > > client from multiple threads can face a deadlock which is impossible
> > > to deal with. Or am I missing something here?
> > >
> > > One workaround I can imagine is failing a transactions execution from
> > > concurrent threads for a first time.
> > >
> > > [1] https://issues.apache.org/jira/browse/IGNITE-11685
> > >
> > > вт, 21 мая 2019 г. в 19:05, Alex Plehanov :
> > > >
> > > > Guys,
> > > >
> > > > I've updated the IEP [1]. Please have a look.
> > > >
> > > > [1]
> > > >
> > >
> https://cwiki.apache.org/confluence/display/IGNITE/IEP-34+Thin+client%3A+transactions+support
> > > >
> > > >
> > > > вт, 21 мая 2019 г., 14:19 Alex Plehanov :
> > > >
> > > > > Ivan,
> > > > >
> > > > > Yes, I have plans to do that (at least for java thin client).
> Something
> > > > > like new class "ClientTransactionConfiguration" inside
> > > > > "ClientConfiguration".
> > > > >
> > > > > вт, 21 мая 2019 г. в 13:37, Павлухин Иван :
> > > > >
> > > > >> Alex,
> > > > >>
> > > > >> Are you going to introduce settings specifying default values for
> tx
> > > > >> concurrency and isolation in client configuration?
> > > > >>
> > > > >> пн, 20 мая 2019 г. в 19:34, Alex Plehanov <
> plehanov.a...@gmail.com>:
> > > > >> >
> > > > >> > Igor,
> > > > >> >
> > > > >> > Perhaps we don't really need to use server's default values for
> tx
> > > > >> > parameters. It's a minor fix and can be easily implemented if it
> > > will be
> > > > >> > required in the future.
> > > > >> > I will update IEP tomorrow regarding point 1 and point 3.
> > > > >> > Thanks for your feedback.
> > > > >> >
> > > > >> > пн, 20 мая 2019 г. в 15:24, Igor Sapego :
> > > > >> >
> > > > >> > > Ivan,
> > > > >> > >
> > > > >> > > This may be a good point for a DBMS, but Ignite is much more
> than
> > > > >> just a
> > > > >> > > DBMS and Ignite client code is not just an SQL query (which
> > > execution
> > > > >> > > inherently heavily depends on DBMS). With database user is
> > > expecting
> > > > >> that
> > > > >> > > server have a lot of control on query execution. But with
> Ignite,
> > > in
> > > > >> my
> > > > >> > > opinion,
> > > > >> > > user writes generic code including business logic in native
> > > language
> > > > >> and
> > > > >> > > may
> > > > >> > > expect more deterministic behaviour from a client.
> > > > >> > >
> > > > >> > > Also, thick clients do not use server-side defaults.
> > > > >> > >
> > > > >> > > Of course, this question is debatable and It's not like I 100%
> > > against
> > > > >> > > server-side
> > > > >> > > defaults here, I just suggest to discuss it in more detail.
> > > > >> > >
> > > > >> > > Best Regards,
> > > > >> > > Igor
> > > > >> > >
> > > > >> > >
> > > > >> > > On Mon, May 20, 2019 at 2:21 PM Павлухин Иван <
> > > vololo...@gmail.com>
> > > > >> wrote:
> > > > >> > >
> > > > >> > > > Igor, Alex,
> > > > >> > > >
> > > > >> > > > Regarding point 1. I must say that SQL vendors usually
> allow to
> > > > >> > > > configure default timeouts and a transaction isolation on a
> > > server
> > > > >> > > > side. E.g. in MySQL you can do a following:
> > > > >> > > > set local tx_isolation =  -- 

Re: Thin client: transactions support

2019-05-27 Thread Павлухин Иван
Alex,

I am quite curious about async implementations from other clients. Is
there any design document describing such implementations? Does .NET
client have such capability?

Actually, I forgot to finish my previous message. One of my concerns
is that a concurrent response dispatch does not sound as a trivial
thing. So, I would like to understand if we already have a good
approach for that. If not then I suppose it worth a discussion.

пн, 27 мая 2019 г. в 12:51, Alex Plehanov :
>
> Hi Ivan.
>
> Thin client transactions support is not only for java thin client. There
> are other clients, some of them already work in async mode.
> Ticket IGNITE-11685 already has draft implementation too, but now it's
> based on some changes to java thin client which were made by "transaction
> support" implementation. I think this ticket will be ready in a couple of
> days after "transaction support" will be merged. And both patches will be
> included in the same release.
>
> пн, 27 мая 2019 г. в 11:57, Павлухин Иван :
>
> > Hi Alex,
> >
> > Regarding a problem with possible deadlock when two concurrent
> > transactions from the same client are trying to lock the same key and
> > an issue [1]. It seems to me that without fixing the issue [1] a
> > client transactions feature is not practical. Everyone who uses a
> > client from multiple threads can face a deadlock which is impossible
> > to deal with. Or am I missing something here?
> >
> > One workaround I can imagine is failing a transactions execution from
> > concurrent threads for a first time.
> >
> > [1] https://issues.apache.org/jira/browse/IGNITE-11685
> >
> > вт, 21 мая 2019 г. в 19:05, Alex Plehanov :
> > >
> > > Guys,
> > >
> > > I've updated the IEP [1]. Please have a look.
> > >
> > > [1]
> > >
> > https://cwiki.apache.org/confluence/display/IGNITE/IEP-34+Thin+client%3A+transactions+support
> > >
> > >
> > > вт, 21 мая 2019 г., 14:19 Alex Plehanov :
> > >
> > > > Ivan,
> > > >
> > > > Yes, I have plans to do that (at least for java thin client). Something
> > > > like new class "ClientTransactionConfiguration" inside
> > > > "ClientConfiguration".
> > > >
> > > > вт, 21 мая 2019 г. в 13:37, Павлухин Иван :
> > > >
> > > >> Alex,
> > > >>
> > > >> Are you going to introduce settings specifying default values for tx
> > > >> concurrency and isolation in client configuration?
> > > >>
> > > >> пн, 20 мая 2019 г. в 19:34, Alex Plehanov :
> > > >> >
> > > >> > Igor,
> > > >> >
> > > >> > Perhaps we don't really need to use server's default values for tx
> > > >> > parameters. It's a minor fix and can be easily implemented if it
> > will be
> > > >> > required in the future.
> > > >> > I will update IEP tomorrow regarding point 1 and point 3.
> > > >> > Thanks for your feedback.
> > > >> >
> > > >> > пн, 20 мая 2019 г. в 15:24, Igor Sapego :
> > > >> >
> > > >> > > Ivan,
> > > >> > >
> > > >> > > This may be a good point for a DBMS, but Ignite is much more than
> > > >> just a
> > > >> > > DBMS and Ignite client code is not just an SQL query (which
> > execution
> > > >> > > inherently heavily depends on DBMS). With database user is
> > expecting
> > > >> that
> > > >> > > server have a lot of control on query execution. But with Ignite,
> > in
> > > >> my
> > > >> > > opinion,
> > > >> > > user writes generic code including business logic in native
> > language
> > > >> and
> > > >> > > may
> > > >> > > expect more deterministic behaviour from a client.
> > > >> > >
> > > >> > > Also, thick clients do not use server-side defaults.
> > > >> > >
> > > >> > > Of course, this question is debatable and It's not like I 100%
> > against
> > > >> > > server-side
> > > >> > > defaults here, I just suggest to discuss it in more detail.
> > > >> > >
> > > >> > > Best Regards,
> > > >> > > Igor
> > > >> > >
> > > >> > >
> > > >> > > On Mon, May 20, 2019 at 2:21 PM Павлухин Иван <
> > vololo...@gmail.com>
> > > >> wrote:
> > > >> > >
> > > >> > > > Igor, Alex,
> > > >> > > >
> > > >> > > > Regarding point 1. I must say that SQL vendors usually allow to
> > > >> > > > configure default timeouts and a transaction isolation on a
> > server
> > > >> > > > side. E.g. in MySQL you can do a following:
> > > >> > > > set local tx_isolation =  -- per SQL client session
> > > >> > > > (usually physical network connection)
> > > >> > > > set global tx_isolation =  -- global settings, all
> > > >> clients
> > > >> > > > (which does not override it) are affected
> > > >> > > >
> > > >> > > > So, if it is a standard practice why should do it differently?
> > If it
> > > >> > > > is not, we can continue discussion. Do we have some examples
> > > >> following
> > > >> > > > opposite way (client-wide default setting)?
> > > >> > > >
> > > >> > > > пн, 20 мая 2019 г. в 13:50, Igor Sapego :
> > > >> > > > >
> > > >> > > > > 1. In my opinion, having client-specific transaction
> > parameters is
> > > >> > > > expected
> > > >> > > > > for
> > > >> > > > > client when have different arguments 

Re: Thin client: transactions support

2019-05-27 Thread Alex Plehanov
Hi Ivan.

Thin client transactions support is not only for java thin client. There
are other clients, some of them already work in async mode.
Ticket IGNITE-11685 already has draft implementation too, but now it's
based on some changes to java thin client which were made by "transaction
support" implementation. I think this ticket will be ready in a couple of
days after "transaction support" will be merged. And both patches will be
included in the same release.

пн, 27 мая 2019 г. в 11:57, Павлухин Иван :

> Hi Alex,
>
> Regarding a problem with possible deadlock when two concurrent
> transactions from the same client are trying to lock the same key and
> an issue [1]. It seems to me that without fixing the issue [1] a
> client transactions feature is not practical. Everyone who uses a
> client from multiple threads can face a deadlock which is impossible
> to deal with. Or am I missing something here?
>
> One workaround I can imagine is failing a transactions execution from
> concurrent threads for a first time.
>
> [1] https://issues.apache.org/jira/browse/IGNITE-11685
>
> вт, 21 мая 2019 г. в 19:05, Alex Plehanov :
> >
> > Guys,
> >
> > I've updated the IEP [1]. Please have a look.
> >
> > [1]
> >
> https://cwiki.apache.org/confluence/display/IGNITE/IEP-34+Thin+client%3A+transactions+support
> >
> >
> > вт, 21 мая 2019 г., 14:19 Alex Plehanov :
> >
> > > Ivan,
> > >
> > > Yes, I have plans to do that (at least for java thin client). Something
> > > like new class "ClientTransactionConfiguration" inside
> > > "ClientConfiguration".
> > >
> > > вт, 21 мая 2019 г. в 13:37, Павлухин Иван :
> > >
> > >> Alex,
> > >>
> > >> Are you going to introduce settings specifying default values for tx
> > >> concurrency and isolation in client configuration?
> > >>
> > >> пн, 20 мая 2019 г. в 19:34, Alex Plehanov :
> > >> >
> > >> > Igor,
> > >> >
> > >> > Perhaps we don't really need to use server's default values for tx
> > >> > parameters. It's a minor fix and can be easily implemented if it
> will be
> > >> > required in the future.
> > >> > I will update IEP tomorrow regarding point 1 and point 3.
> > >> > Thanks for your feedback.
> > >> >
> > >> > пн, 20 мая 2019 г. в 15:24, Igor Sapego :
> > >> >
> > >> > > Ivan,
> > >> > >
> > >> > > This may be a good point for a DBMS, but Ignite is much more than
> > >> just a
> > >> > > DBMS and Ignite client code is not just an SQL query (which
> execution
> > >> > > inherently heavily depends on DBMS). With database user is
> expecting
> > >> that
> > >> > > server have a lot of control on query execution. But with Ignite,
> in
> > >> my
> > >> > > opinion,
> > >> > > user writes generic code including business logic in native
> language
> > >> and
> > >> > > may
> > >> > > expect more deterministic behaviour from a client.
> > >> > >
> > >> > > Also, thick clients do not use server-side defaults.
> > >> > >
> > >> > > Of course, this question is debatable and It's not like I 100%
> against
> > >> > > server-side
> > >> > > defaults here, I just suggest to discuss it in more detail.
> > >> > >
> > >> > > Best Regards,
> > >> > > Igor
> > >> > >
> > >> > >
> > >> > > On Mon, May 20, 2019 at 2:21 PM Павлухин Иван <
> vololo...@gmail.com>
> > >> wrote:
> > >> > >
> > >> > > > Igor, Alex,
> > >> > > >
> > >> > > > Regarding point 1. I must say that SQL vendors usually allow to
> > >> > > > configure default timeouts and a transaction isolation on a
> server
> > >> > > > side. E.g. in MySQL you can do a following:
> > >> > > > set local tx_isolation =  -- per SQL client session
> > >> > > > (usually physical network connection)
> > >> > > > set global tx_isolation =  -- global settings, all
> > >> clients
> > >> > > > (which does not override it) are affected
> > >> > > >
> > >> > > > So, if it is a standard practice why should do it differently?
> If it
> > >> > > > is not, we can continue discussion. Do we have some examples
> > >> following
> > >> > > > opposite way (client-wide default setting)?
> > >> > > >
> > >> > > > пн, 20 мая 2019 г. в 13:50, Igor Sapego :
> > >> > > > >
> > >> > > > > 1. In my opinion, having client-specific transaction
> parameters is
> > >> > > > expected
> > >> > > > > for
> > >> > > > > client when have different arguments depending on server seems
> > >> > > unexpected
> > >> > > > > and can lead to hard-to-debug bugs and issues when updating
> from
> > >> old to
> > >> > > > new
> > >> > > > > server versions. Also it goes against common practice with
> > >> arguments of
> > >> > > > thin
> > >> > > > > client and thus, may be even more unexpected.
> > >> > > > >
> > >> > > > > I believe that if we want to add ability to client to adopt
> some
> > >> > > server's
> > >> > > > > defaults
> > >> > > > > we should implement it as separate feature, and it should not
> be a
> > >> > > > default
> > >> > > > > behaviour for client, user should explicitly state that they
> want
> > >> this
> > >> > > > > behaviour,
> > >> > > > > so it won't be 

Re: Thin client: transactions support

2019-05-27 Thread Павлухин Иван
Hi Alex,

Regarding a problem with possible deadlock when two concurrent
transactions from the same client are trying to lock the same key and
an issue [1]. It seems to me that without fixing the issue [1] a
client transactions feature is not practical. Everyone who uses a
client from multiple threads can face a deadlock which is impossible
to deal with. Or am I missing something here?

One workaround I can imagine is failing a transactions execution from
concurrent threads for a first time.

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

вт, 21 мая 2019 г. в 19:05, Alex Plehanov :
>
> Guys,
>
> I've updated the IEP [1]. Please have a look.
>
> [1]
> https://cwiki.apache.org/confluence/display/IGNITE/IEP-34+Thin+client%3A+transactions+support
>
>
> вт, 21 мая 2019 г., 14:19 Alex Plehanov :
>
> > Ivan,
> >
> > Yes, I have plans to do that (at least for java thin client). Something
> > like new class "ClientTransactionConfiguration" inside
> > "ClientConfiguration".
> >
> > вт, 21 мая 2019 г. в 13:37, Павлухин Иван :
> >
> >> Alex,
> >>
> >> Are you going to introduce settings specifying default values for tx
> >> concurrency and isolation in client configuration?
> >>
> >> пн, 20 мая 2019 г. в 19:34, Alex Plehanov :
> >> >
> >> > Igor,
> >> >
> >> > Perhaps we don't really need to use server's default values for tx
> >> > parameters. It's a minor fix and can be easily implemented if it will be
> >> > required in the future.
> >> > I will update IEP tomorrow regarding point 1 and point 3.
> >> > Thanks for your feedback.
> >> >
> >> > пн, 20 мая 2019 г. в 15:24, Igor Sapego :
> >> >
> >> > > Ivan,
> >> > >
> >> > > This may be a good point for a DBMS, but Ignite is much more than
> >> just a
> >> > > DBMS and Ignite client code is not just an SQL query (which execution
> >> > > inherently heavily depends on DBMS). With database user is expecting
> >> that
> >> > > server have a lot of control on query execution. But with Ignite, in
> >> my
> >> > > opinion,
> >> > > user writes generic code including business logic in native language
> >> and
> >> > > may
> >> > > expect more deterministic behaviour from a client.
> >> > >
> >> > > Also, thick clients do not use server-side defaults.
> >> > >
> >> > > Of course, this question is debatable and It's not like I 100% against
> >> > > server-side
> >> > > defaults here, I just suggest to discuss it in more detail.
> >> > >
> >> > > Best Regards,
> >> > > Igor
> >> > >
> >> > >
> >> > > On Mon, May 20, 2019 at 2:21 PM Павлухин Иван 
> >> wrote:
> >> > >
> >> > > > Igor, Alex,
> >> > > >
> >> > > > Regarding point 1. I must say that SQL vendors usually allow to
> >> > > > configure default timeouts and a transaction isolation on a server
> >> > > > side. E.g. in MySQL you can do a following:
> >> > > > set local tx_isolation =  -- per SQL client session
> >> > > > (usually physical network connection)
> >> > > > set global tx_isolation =  -- global settings, all
> >> clients
> >> > > > (which does not override it) are affected
> >> > > >
> >> > > > So, if it is a standard practice why should do it differently? If it
> >> > > > is not, we can continue discussion. Do we have some examples
> >> following
> >> > > > opposite way (client-wide default setting)?
> >> > > >
> >> > > > пн, 20 мая 2019 г. в 13:50, Igor Sapego :
> >> > > > >
> >> > > > > 1. In my opinion, having client-specific transaction parameters is
> >> > > > expected
> >> > > > > for
> >> > > > > client when have different arguments depending on server seems
> >> > > unexpected
> >> > > > > and can lead to hard-to-debug bugs and issues when updating from
> >> old to
> >> > > > new
> >> > > > > server versions. Also it goes against common practice with
> >> arguments of
> >> > > > thin
> >> > > > > client and thus, may be even more unexpected.
> >> > > > >
> >> > > > > I believe that if we want to add ability to client to adopt some
> >> > > server's
> >> > > > > defaults
> >> > > > > we should implement it as separate feature, and it should not be a
> >> > > > default
> >> > > > > behaviour for client, user should explicitly state that they want
> >> this
> >> > > > > behaviour,
> >> > > > > so it won't be unexpected for them.
> >> > > > >
> >> > > > > 3. "Flags" field looks like a good solution to me.
> >> > > > >
> >> > > > > Best Regards,
> >> > > > > Igor
> >> > > > >
> >> > > > >
> >> > > > > On Mon, May 20, 2019 at 12:58 PM Alex Plehanov <
> >> > > plehanov.a...@gmail.com>
> >> > > > > wrote:
> >> > > > >
> >> > > > > > Hi, Igor
> >> > > > > >
> >> > > > > > 1. I think it's better to have the ability to configure
> >> transaction
> >> > > > > > parameters (for example configure default timeout for all
> >> clients) on
> >> > > > > > server-side, then don't have such ability and always use some
> >> > > > predefined
> >> > > > > > client-side values (which can be different for different client
> >> > > > > > implementations). At least default timeout is more server
> >> specific
> >> > >