Access to wiki to write a IEP draft

2022-07-08 Thread Sergey Korotkov

Hello Igniters,

I would like to prepare the IEP for some improved loading testing 
framework for Ignite.


Would you please give me a write access to 
https://cwiki.apache.org/confluence


Thanks,

--

   Sergey Korotkov



Re: Access to wiki to write a IEP draft

2022-07-08 Thread Николай Ижиков
Hello, please, provide you Jira ID.

> 8 июля 2022 г., в 12:18, Sergey Korotkov  
> написал(а):
> 
> Hello Igniters,
> 
> I would like to prepare the IEP for some improved loading testing framework 
> for Ignite.
> 
> Would you please give me a write access to https://cwiki.apache.org/confluence
> 
> Thanks,
> 
> --
> 
>Sergey Korotkov
> 



Re: [DISCUSSION] Customers Migraton from Thick to Thin Clients

2022-07-08 Thread Николай Ижиков
Hello, Pavel.

I support your proposal to transparently create custom AffinityMapper based on 
server node classname, in general.
Partition Awareness crucial point for a thin client performance so It should be 
absolutely clear for a user - PA works correctly or not.

So, I think, we should implement the following:

0. Add ability to sent custom affinity class name.
1. If `partitionAwarenessEnabled=true` but custom affinity can’t be 
instantiated on the client - throw an exception.

WDYT?

> 8 июля 2022 г., в 08:37, Pavel Tupitsyn  написал(а):
> 
> To clarify: you can use a different AffinityFunction implementation on the
> client side. It just has to map to the same binary typeId.
> Even if there is a legacy setup with AffinityKeyMapper on servers, you can
> craft an AffinityFunction for the client that achieves correct behavior.
> So I believe this should cover any use case.
> 
> On Thu, Jul 7, 2022 at 10:36 PM Pavel Tupitsyn  wrote:
> 
>> AffinityKeyMapper is just a subset of AffinityFunction, isn't it?
>> So by supporting AffinityFunction we cover all AffinityKeyMapper use cases.
>> 
>> 
>>> managing the classpath, a user should always keep in mind it
>> I don't consider this a problem. This is how Java works, what can we do?
>> You can also stick the class into BinaryConfiguration on the client to
>> make it explicit and make sure it is loaded.
>> 
>>> it still possible having user bad implementations of AffinityFunction
>> that can't be easily instantiated;
>> It is also possible to provide a bad implementation of ToIntFunction, no
>> difference.
>> 
>>> a question - what we should do in case of class instantiating loading
>> fails?
>> Currently we don't fail on custom affinity, right? So we should keep this
>> behavior. Print a warning.
>> 
>> On Thu, Jul 7, 2022 at 10:27 PM Maxim Muzafarov  wrote:
>> 
>>> Pavel,
>>> 
>>> 
>>> Yes, you're right that AffinityKeyMapper is deprecated, this is sad to
>>> say but it still used.
>>> 
>>> Let me describe the cases in more detail. In general, we have
>>> customers which are using:
>>> 
>>> 1. an own custom AffinityFunction;
>>> 2. the default RendezvousAffinityFunction + an own deprecated
>>> AffinityKeyMapper;
>>> 3. an own custom AffinityFunction + an own deprecated
>>> AffinityKeyMapper (I doubt about this case);
>>> 
>>> I'd like to provide a general solution that solves all the cases
>>> mentioned above, thus we can't discuss only AffinityFunction. It
>>> doesn't fit the initial goals.
>>> 
>>> 
 Can you please clarify the "tricky" part?
>>> 
>>> Yes, from my point of view the tricky part here is:
>>> 
>>> - managing the classpath, a user should always keep in mind it;
>>> - it still possible having user bad implementations of
>>> AffinityFunction that can't be easily instantiated;
>>> - a question - what we should do in case of class instantiating
>>> loading fails? drop the client, print the warn or do nothing. These
>>> solutions have a different impact on a production environment and user
>>> may have different expectations on that;
>>> 
>>> 
>>> I'm not saying that solution you suggested is bad, it just has some
>>> drawbacks (like other solutions) and doesn't solves all the cases if
>>> we're not instantiating a deprecated AffinityKeyMapper (which looks a
>>> bit ugly for me too).
>>> 
>>> 
>>> Actually, we are not limited with setting/instantiating
>>> AffinityFunction. We can provide for a user a control on which channel
>>> (node) a particular cache request will be executed (this thing also
>>> have a drawback - a transactional operation cannot be executed on an
>>> arbitrary node, it should be executed on node it's started).
>>> 
>>> On Thu, 7 Jul 2022 at 21:41, Pavel Tupitsyn  wrote:
 
> AffinityKeyMapper (it will be required too)
 It is deprecated. We should not add any functionality on top of
>>> deprecated
 stuff.
 Let's discuss only AffinityFunction.
 
> this approach requires of these classes to be present on a thin client
 side and it can be tricky
 Any of the approaches discussed above requires some additional logic to
>>> be
 present on the client.
 Can you please clarify the "tricky" part?
 
 All you need is to provide AffinityFunction implementation with a proper
 class name
 (or even use nameMapper/idMapper to map to a different name), it is no
 different from the ToIntFunction approach.
 
 
 On Thu, Jul 7, 2022 at 9:23 PM Maxim Muzafarov 
>>> wrote:
 
> Folks,
> 
> I'd like also to mention since we are talking about a customer's
> custom affinity function and affinity mapper implementations we could
> face with some issues during these classes instantiation. It could
> work for the customer which I've faced on, but I cannoun be sure that
> this approach will work for all of the cases.
> 
> I think it is better to avoid such an issues and leave it up to a
> user. Nevertheless, the worst scenario for the user 

Re: [DISCUSSION] Customers Migraton from Thick to Thin Clients

2022-07-08 Thread Pavel Tupitsyn
Nikolay,

> Add ability to sent custom affinity class name.
Can you please elaborate? What is sent where?

> If `partitionAwarenessEnabled=true` but custom affinity can’t be
instantiated on the client - throw an exception
Unfortunately, this is a breaking change. Currently this scenario works
without errors - uses default socket for custom affinity caches.


On Fri, Jul 8, 2022 at 3:23 PM Николай Ижиков  wrote:

> Hello, Pavel.
>
> I support your proposal to transparently create custom AffinityMapper
> based on server node classname, in general.
> Partition Awareness crucial point for a thin client performance so It
> should be absolutely clear for a user - PA works correctly or not.
>
> So, I think, we should implement the following:
>
> 0. Add ability to sent custom affinity class name.
> 1. If `partitionAwarenessEnabled=true` but custom affinity can’t be
> instantiated on the client - throw an exception.
>
> WDYT?
>
> > 8 июля 2022 г., в 08:37, Pavel Tupitsyn 
> написал(а):
> >
> > To clarify: you can use a different AffinityFunction implementation on
> the
> > client side. It just has to map to the same binary typeId.
> > Even if there is a legacy setup with AffinityKeyMapper on servers, you
> can
> > craft an AffinityFunction for the client that achieves correct behavior.
> > So I believe this should cover any use case.
> >
> > On Thu, Jul 7, 2022 at 10:36 PM Pavel Tupitsyn 
> wrote:
> >
> >> AffinityKeyMapper is just a subset of AffinityFunction, isn't it?
> >> So by supporting AffinityFunction we cover all AffinityKeyMapper use
> cases.
> >>
> >>
> >>> managing the classpath, a user should always keep in mind it
> >> I don't consider this a problem. This is how Java works, what can we do?
> >> You can also stick the class into BinaryConfiguration on the client to
> >> make it explicit and make sure it is loaded.
> >>
> >>> it still possible having user bad implementations of AffinityFunction
> >> that can't be easily instantiated;
> >> It is also possible to provide a bad implementation of ToIntFunction, no
> >> difference.
> >>
> >>> a question - what we should do in case of class instantiating loading
> >> fails?
> >> Currently we don't fail on custom affinity, right? So we should keep
> this
> >> behavior. Print a warning.
> >>
> >> On Thu, Jul 7, 2022 at 10:27 PM Maxim Muzafarov 
> wrote:
> >>
> >>> Pavel,
> >>>
> >>>
> >>> Yes, you're right that AffinityKeyMapper is deprecated, this is sad to
> >>> say but it still used.
> >>>
> >>> Let me describe the cases in more detail. In general, we have
> >>> customers which are using:
> >>>
> >>> 1. an own custom AffinityFunction;
> >>> 2. the default RendezvousAffinityFunction + an own deprecated
> >>> AffinityKeyMapper;
> >>> 3. an own custom AffinityFunction + an own deprecated
> >>> AffinityKeyMapper (I doubt about this case);
> >>>
> >>> I'd like to provide a general solution that solves all the cases
> >>> mentioned above, thus we can't discuss only AffinityFunction. It
> >>> doesn't fit the initial goals.
> >>>
> >>>
>  Can you please clarify the "tricky" part?
> >>>
> >>> Yes, from my point of view the tricky part here is:
> >>>
> >>> - managing the classpath, a user should always keep in mind it;
> >>> - it still possible having user bad implementations of
> >>> AffinityFunction that can't be easily instantiated;
> >>> - a question - what we should do in case of class instantiating
> >>> loading fails? drop the client, print the warn or do nothing. These
> >>> solutions have a different impact on a production environment and user
> >>> may have different expectations on that;
> >>>
> >>>
> >>> I'm not saying that solution you suggested is bad, it just has some
> >>> drawbacks (like other solutions) and doesn't solves all the cases if
> >>> we're not instantiating a deprecated AffinityKeyMapper (which looks a
> >>> bit ugly for me too).
> >>>
> >>>
> >>> Actually, we are not limited with setting/instantiating
> >>> AffinityFunction. We can provide for a user a control on which channel
> >>> (node) a particular cache request will be executed (this thing also
> >>> have a drawback - a transactional operation cannot be executed on an
> >>> arbitrary node, it should be executed on node it's started).
> >>>
> >>> On Thu, 7 Jul 2022 at 21:41, Pavel Tupitsyn 
> wrote:
> 
> > AffinityKeyMapper (it will be required too)
>  It is deprecated. We should not add any functionality on top of
> >>> deprecated
>  stuff.
>  Let's discuss only AffinityFunction.
> 
> > this approach requires of these classes to be present on a thin
> client
>  side and it can be tricky
>  Any of the approaches discussed above requires some additional logic
> to
> >>> be
>  present on the client.
>  Can you please clarify the "tricky" part?
> 
>  All you need is to provide AffinityFunction implementation with a
> proper
>  class name
>  (or even use nameMapper/idMapper to map to a different name), it is no
>  differ

[MTCGA]: new failures in builds [6512000] needs to be handled

2022-07-08 Thread ignitetcbot
Hi Igniters,

 I've detected some new issue on TeamCity to be handled. You are more than 
welcomed to help.

 *New test failure in master 
CacheContinuousQueryBufferLimitTest.testContinuousQueryBatchSwitchOnAck[cacheMode=REPLICATED,
 atomicityMode=TRANSACTIONAL] 
https://ci2.ignite.apache.org/test/-1135395322370377756?currentProjectId=IgniteTests24Java8&branch=%3Cdefault%3E
 No changes in the build

 - Here's a reminder of what contributors were agreed to do 
https://cwiki.apache.org/confluence/display/IGNITE/How+to+Contribute 
 - Should you have any questions please contact dev@ignite.apache.org 

Best Regards,
Apache Ignite TeamCity Bot 
https://github.com/apache/ignite-teamcity-bot
Notification generated at 06:23:20 09-07-2022