Re: [DISCUSS] Custom service proxy context
Hi, Val >>The examples you mentioned are more related to internal activities (e.g., >> if authentication is handled by an Ignite server node, it can create its >> internal context for a connection - this is certainly reasonable). I'm only >> worried about exposing this to the end user. I'm talking about not Ignite auth, but external auth. Here I am considering Ignite Service Grid as a microservice platform. Authentication microservice can be not related to Ignite at all, but author of service may want to retrieve or authenticate user by user_id, that is provided in request headers or context in jwt token, for example. The same is for tracing or metrics. Ignite internal mechanisms here cannot help at all, because there is no context related to user's code. If we want to leave Ignite Service Grid as dump as possible, it is ok. But therefore it cannot compete with more functional variants. But just adding request headers at first step and custom interceptors (client and server side) we can give to user's of Ignite Service Grid a lot of opportunities. There is an example of golang grpc middlewares -- see how many interesting use cases here: https://github.com/grpc-ecosystem/go-grpc-middleware вт, 12 окт. 2021 г. в 07:31, Valentin Kulichenko < valentin.kuliche...@gmail.com>: > Ivan, > > I'm a bit confused :) Unless I misread the initial suggestion, the idea is > to provide a public API to create the context. In other words, it will be > up to the end user to create this context properly, which affects the > business code - and that's exactly where I see an issue. > > The examples you mentioned are more related to internal activities (e.g., > if authentication is handled by an Ignite server node, it can create its > internal context for a connection - this is certainly reasonable). I'm only > worried about exposing this to the end user. > > Maybe you can pick one of the use cases that you think would benefit from > this feature the most, and provide a little more detail? How would you like > to see the use case to be addressed and what is currently missing? > > Also, just to be clear: I'm not necessarily against the suggestion, and > it's highly unlikely that I will want to veto it if you or someone else > will decide to implement it. Just expressing my concerns. > > -Val > > On Sun, Oct 10, 2021 at 11:52 PM Nikolay Izhikov > wrote: > > > +1 to have service proxy context. > > > > > 11 окт. 2021 г., в 09:43, Ivan Daschinsky > > написал(а): > > > > > > Val, Pavel both of you are right, but on the other hand there are some > > > other tasks > > > > > > 1. Distributed tracing. > > > 2. Custom metrics/measurements > > > 3. Auth and some related tasks (i.e. ingests full User info by calling > > some > > > auth service in middleware). > > > > > > Do you both think that this is a good idea in business code? > > > > > > Without this functionality, our service grid cannot compete with grpc > and > > > others as microservice framework, unfortunately. > > > > > > But if we introduce limited support for this "request headers", it can > > > drastically improves this aspects of our service grid framework. > > > > > > > > > пн, 11 окт. 2021 г. в 00:48, Valentin Kulichenko < > > > valentin.kuliche...@gmail.com>: > > > > > >> I agree with Pavel. The suggested approach is indeed utilized quite > > >> frequently, but it's inherently error-prone. > > >> > > >> The main issue is that it creates implicit assumptions about the > > behavior > > >> of both the service and the user's code. For example, if the user's > code > > >> must provide a username, what if it doesn't? I assume it will get an > > error, > > >> which is very counterintuitive. Even more importantly, how should one > > learn > > >> about this requirement in the first place? It is not reflected in the > > API > > >> in any way - and that's a big problem. > > >> > > >> The fact that the service implementor needs to update the API methods > > when > > >> such requirements are introduced is actually a good thing, in my > > opinion. > > >> This forces the developer to stop and think about how the updated API > > >> should look like and how to make sure it's backward-compatible (or > not, > > in > > >> case the new requirements are mandatory). Doing this through an > external > > >> context is basically the equivalent of saying "let the end user deal > > with > > >> this". Not a good practice, in my view. > > >> > > >> Conversely, passing everything exclusively via method arguments > > guarantees > > >> that: > > >> > > >> - The user's code is always compliant with the service contract. You > > >> can't "forget" to pass something to the service. > > >> - Any changes in the service contract (backward-compatible or > > otherwise) > > >> are explicitly reflected in the API. > > >> > > >> > > >> -Val > > >> > > >> > > >> On Sun, Oct 10, 2021 at 6:21 AM Pavel Tupitsyn > > >> wrote: > > >> > > >>> Ivan, > > >>> > > >>> Yes, this approach is used by some other sy
IGNITE-15678
Hello, Ivan! You've committed https://issues.apache.org/jira/browse/IGNITE-15678 recently, but after that C++ suites on TC suffer constant timeout [1][2]. Could you investigate what can be done to optimize test execution time? 1. https://ci.ignite.apache.org/buildConfiguration/IgniteTests24Java8_WiPPlatformCCMakeWinX64Release?branch=%3Cdefault%3E&mode=builds 2. https://ci.ignite.apache.org/buildConfiguration/IgniteTests24Java8_PlatformCWinX64Release?branch=%3Cdefault%3E&buildTypeTab=overview&mode=builds#all-projects -- Best regards, Eduard.
[VOTE] Release Apache Ignite 3.0.0-alpha3 RC1
Dear Community, Ignite 3 development is moving forward. In the last several months we've added the following features: - New SQL engine based on Apache Calcite + JDBC driver. - Persistence implementation based on RocksDB. - New binary client protocol with an implementation in Java. - Data rebalancing. This is a significant milestone, so I think it will be valuable to share the current state with the broader community. I propose to release 3.0.0 Alpha3 with the features listed above. Please vote. --- Release candidate: https://dist.apache.org/repos/dist/dev/ignite/3.0.0-alpha3-rc1/ Maven staging: https://repository.apache.org/content/repositories/orgapacheignite-1532 Git tag: https://github.com/apache/ignite-3/tree/3.0.0-alpha3-rc1 +1 - accept Apache Ignite 3.0.0-alpha3 RC1 0 - don't care either way -1 - DO NOT accept Apache Ignite 3.0.0-alpha3 RC1 (explain why) Voting guidelines: https://www.apache.org/foundation/voting.html How to verify the release: https://www.apache.org/info/verification.html The vote will be open for 72 hours and will close on October 15th at 10pm UTC: https://www.timeanddate.com/counters/fullscreen.html?mode=a&iso=20211015T15&year=2021&month=10&day=15&hour=15&min=0&sec=0&p0=224 -Val
Re: [VOTE] Release Apache Ignite 3.0.0-alpha3 RC1
+1 (binding) - Denis On Tue, Oct 12, 2021 at 6:01 PM Valentin Kulichenko < valentin.kuliche...@gmail.com> wrote: > Dear Community, > > Ignite 3 development is moving forward. In the last several months we've > added the following features: > >- New SQL engine based on Apache Calcite + JDBC driver. >- Persistence implementation based on RocksDB. >- New binary client protocol with an implementation in Java. >- Data rebalancing. > > This is a significant milestone, so I think it will be valuable to share > the current state with the broader community. > > I propose to release 3.0.0 Alpha3 with the features listed above. > > Please vote. > > --- > > Release candidate: > https://dist.apache.org/repos/dist/dev/ignite/3.0.0-alpha3-rc1/ > Maven staging: > https://repository.apache.org/content/repositories/orgapacheignite-1532 > Git tag: https://github.com/apache/ignite-3/tree/3.0.0-alpha3-rc1 > > +1 - accept Apache Ignite 3.0.0-alpha3 RC1 > 0 - don't care either way > -1 - DO NOT accept Apache Ignite 3.0.0-alpha3 RC1 (explain why) > > Voting guidelines: https://www.apache.org/foundation/voting.html > How to verify the release: https://www.apache.org/info/verification.html > > The vote will be open for 72 hours and will close on October 15th at 10pm > UTC: > > https://www.timeanddate.com/counters/fullscreen.html?mode=a&iso=20211015T15&year=2021&month=10&day=15&hour=15&min=0&sec=0&p0=224 > > -Val >
Re: [VOTE] Release Apache Ignite 3.0.0-alpha3 RC1
+1 (binding) Regards Saikat On Tue, Oct 12, 2021 at 5:03 PM Denis Magda wrote: > +1 (binding) > > - > Denis > > > On Tue, Oct 12, 2021 at 6:01 PM Valentin Kulichenko < > valentin.kuliche...@gmail.com> wrote: > > > Dear Community, > > > > Ignite 3 development is moving forward. In the last several months we've > > added the following features: > > > >- New SQL engine based on Apache Calcite + JDBC driver. > >- Persistence implementation based on RocksDB. > >- New binary client protocol with an implementation in Java. > >- Data rebalancing. > > > > This is a significant milestone, so I think it will be valuable to share > > the current state with the broader community. > > > > I propose to release 3.0.0 Alpha3 with the features listed above. > > > > Please vote. > > > > --- > > > > Release candidate: > > https://dist.apache.org/repos/dist/dev/ignite/3.0.0-alpha3-rc1/ > > Maven staging: > > https://repository.apache.org/content/repositories/orgapacheignite-1532 > > Git tag: https://github.com/apache/ignite-3/tree/3.0.0-alpha3-rc1 > > > > +1 - accept Apache Ignite 3.0.0-alpha3 RC1 > > 0 - don't care either way > > -1 - DO NOT accept Apache Ignite 3.0.0-alpha3 RC1 (explain why) > > > > Voting guidelines: https://www.apache.org/foundation/voting.html > > How to verify the release: https://www.apache.org/info/verification.html > > > > The vote will be open for 72 hours and will close on October 15th at 10pm > > UTC: > > > > > https://www.timeanddate.com/counters/fullscreen.html?mode=a&iso=20211015T15&year=2021&month=10&day=15&hour=15&min=0&sec=0&p0=224 > > > > -Val > > >