Hi,

I'm in progress of implementing this IEP for Ignite.NET, and I have
concerns about the following:

> On thin client startup it connects to all nodes provided by client
configuration

Should we, at least, make this behavior optional?

One of the benefits of thin client is quick startup/connect time and low
resource usage.
Adding "connect all" behavior can negate those benefits, especially on
large clusters.

Thoughts?

On Thu, Feb 14, 2019 at 5:39 PM Igor Sapego <isap...@apache.org> wrote:

> Guys, I've updated the IEP page [1] once again.
>
> Please, pay attention to sections Cache affinity mapping acquiring
> (4.a, format of Cache Partitions Request) and Changes to cache
> operations with single key (3 and 4, algorithm).
>
> Long story short, I've decided to add some additional data to Cache
> Partitions Response, so that client can determine how to calculate
> partition for a given key properly.
>
> [1] -
>
> https://cwiki.apache.org/confluence/display/IGNITE/IEP-23%3A+Best+Effort+Affinity+for+thin+clients
>
> Best Regards,
> Igor
>
>
> On Mon, Feb 4, 2019 at 8:24 PM Pavel Tupitsyn <ptupit...@apache.org>
> wrote:
>
> > Looks good to me.
> >
> > On Mon, Feb 4, 2019 at 6:30 PM Igor Sapego <isap...@apache.org> wrote:
> >
> > > I've updated IEP page: [1]
> > >
> > > What do you think now? To me it looks cleaner.
> > >
> > > [1] -
> > >
> > >
> >
> https://cwiki.apache.org/confluence/display/IGNITE/IEP-23%3A+Best+Effort+Affinity+for+thin+clients
> > >
> > > Best Regards,
> > > Igor
> > >
> > >
> > > On Mon, Feb 4, 2019 at 4:44 PM Igor Sapego <isap...@apache.org> wrote:
> > >
> > > > Ok, I understand now. I'll try updating IEP according to this
> proposal
> > > and
> > > > notify you guys.
> > > >
> > > > Best Regards,
> > > > Igor
> > > >
> > > >
> > > > On Mon, Feb 4, 2019 at 4:27 PM Vladimir Ozerov <voze...@gridgain.com
> >
> > > > wrote:
> > > >
> > > >> Igor,
> > > >>
> > > >> My idea is simply to add the list of caches with the same
> distribution
> > > to
> > > >> the end of partition response. Client can use this information to
> > > populate
> > > >> partition info for more caches in a single request.
> > > >>
> > > >> On Mon, Feb 4, 2019 at 3:06 PM Igor Sapego <isap...@apache.org>
> > wrote:
> > > >>
> > > >> > Vladimir,
> > > >> >
> > > >> > So correct me if I'm wrong, what you propose is to avoid
> mentioning
> > > >> > of cache groups, and use instead of "cache group" term something
> > like
> > > >> > "distribution"? Or do you propose some changes in protocol? If so,
> > can
> > > >> > you briefly explain, what kind of changes they are?
> > > >> >
> > > >> > Best Regards,
> > > >> > Igor
> > > >> >
> > > >> >
> > > >> > On Mon, Feb 4, 2019 at 1:13 PM Vladimir Ozerov <
> > voze...@gridgain.com>
> > > >> > wrote:
> > > >> >
> > > >> > > Igor,
> > > >> > >
> > > >> > > Yes, cache groups are public API. However, we try to avoid new
> > APIs
> > > >> > > depending on them.
> > > >> > > The main point from my side is that “similar cache group” can be
> > > >> easily
> > > >> > > generalized to “similar distribution”. This way we avoid cache
> > > groups
> > > >> on
> > > >> > > protocol level at virtually no cost.
> > > >> > >
> > > >> > > Vladimir.
> > > >> > >
> > > >> > > пн, 4 февр. 2019 г. в 12:48, Igor Sapego <isap...@apache.org>:
> > > >> > >
> > > >> > > > Guys,
> > > >> > > >
> > > >> > > > Can you explain why do we want to avoid Cache groups in
> > protocol?
> > > >> > > >
> > > >> > > > If it's about simplicity of the protocol, then removing cache
> > > groups
> > > >> > will
> > > >> > > > not help much with it - we will still need to include
> > > >> "knownCacheIds"
> > > >> > > > field in request and "cachesWithTheSamePartitioning" field in
> > > >> response.
> > > >> > > > And also, since when do Ignite prefers simplicity over
> > > performance?
> > > >> > > >
> > > >> > > > If it's about not wanting to show internals of Ignite then it
> > > sounds
> > > >> > like
> > > >> > > > a very weak argument to me, since Cache Groups is a public
> thing
> > > >> [1].
> > > >> > > >
> > > >> > > > [1] - https://apacheignite.readme.io/docs/cache-groups
> > > >> > > >
> > > >> > > > Best Regards,
> > > >> > > > Igor
> > > >> > > >
> > > >> > > >
> > > >> > > > On Mon, Feb 4, 2019 at 11:47 AM Vladimir Ozerov <
> > > >> voze...@gridgain.com>
> > > >> > > > wrote:
> > > >> > > >
> > > >> > > > > Pavel, Igor,
> > > >> > > > >
> > > >> > > > > This is not very accurate to say that this will not save
> > memory.
> > > >> In
> > > >> > > > > practice we observed a number of OOME issues on the
> > server-side
> > > >> due
> > > >> > to
> > > >> > > > many
> > > >> > > > > caches and it was one of motivations for cache groups
> (another
> > > one
> > > >> > disk
> > > >> > > > > access optimizations). On the other hand, I agree that we'd
> > > >> better to
> > > >> > > > avoid
> > > >> > > > > cache groups in the protocol because this is internal
> > > >> implementation
> > > >> > > > detail
> > > >> > > > > which is likely (I hope so) to be changed in future.
> > > >> > > > >
> > > >> > > > > So I have another proposal - let's track caches with the
> same
> > > >> > affinity
> > > >> > > > > distribution instead. That is, normally most of PARTITIONED
> > > caches
> > > >> > will
> > > >> > > > > have very few variants of configuration: it will be
> Rendezvous
> > > >> > affinity
> > > >> > > > > function, most likely with default partition number and with
> > 1-2
> > > >> > > backups
> > > >> > > > at
> > > >> > > > > most. So when affinity distribution for specific cache is
> > > >> requested,
> > > >> > we
> > > >> > > > can
> > > >> > > > > append to the response *list of caches with the same
> > > >> distribution*.
> > > >> > > I.e.:
> > > >> > > > >
> > > >> > > > > class AffinityResponse {
> > > >> > > > >     Object distribution;    // Actual distribution
> > > >> > > > >     List<Integer> cacheIds; // Caches with similar
> > distribution
> > > >> > > > > }
> > > >> > > > >
> > > >> > > > > Makes sense?
> > > >> > > > >
> > > >> > > > > On Sun, Feb 3, 2019 at 8:31 PM Pavel Tupitsyn <
> > > >> ptupit...@apache.org>
> > > >> > > > > wrote:
> > > >> > > > >
> > > >> > > > > > Igor, I have a feeling that we should omit Cache Group
> stuff
> > > >> from
> > > >> > the
> > > >> > > > > > protocol.
> > > >> > > > > > It is a rare use case and even then dealing with them on
> > > client
> > > >> > > barely
> > > >> > > > > > saves some memory.
> > > >> > > > > >
> > > >> > > > > > We can keep it simple and have partition map per cacheId.
> > > >> Thoughts?
> > > >> > > > > >
> > > >> > > > > > On Fri, Feb 1, 2019 at 6:49 PM Igor Sapego <
> > > isap...@apache.org>
> > > >> > > wrote:
> > > >> > > > > >
> > > >> > > > > > > Guys, I've updated the proposal once again [1], so
> please,
> > > >> > > > > > > take a look and let me know what you think.
> > > >> > > > > > >
> > > >> > > > > > > [1] -
> > > >> > > > > > >
> > > >> > > > > > >
> > > >> > > > > >
> > > >> > > > >
> > > >> > > >
> > > >> > >
> > > >> >
> > > >>
> > >
> >
> https://cwiki.apache.org/confluence/display/IGNITE/IEP-23%3A+Best+Effort+Affinity+for+thin+clients
> > > >> > > > > > >
> > > >> > > > > > > Best Regards,
> > > >> > > > > > > Igor
> > > >> > > > > > >
> > > >> > > > > > >
> > > >> > > > > > > On Thu, Jan 17, 2019 at 1:05 PM Igor Sapego <
> > > >> isap...@apache.org>
> > > >> > > > > wrote:
> > > >> > > > > > >
> > > >> > > > > > > > Yeah, I'll add it.
> > > >> > > > > > > >
> > > >> > > > > > > > Best Regards,
> > > >> > > > > > > > Igor
> > > >> > > > > > > >
> > > >> > > > > > > >
> > > >> > > > > > > > On Wed, Jan 16, 2019 at 11:08 PM Pavel Tupitsyn <
> > > >> > > > > ptupit...@apache.org>
> > > >> > > > > > > > wrote:
> > > >> > > > > > > >
> > > >> > > > > > > >> >  to every server
> > > >> > > > > > > >> I did not think of this issue. Now I agree with your
> > > >> approach.
> > > >> > > > > > > >> Can you please add an explanation of this to the IEP?
> > > >> > > > > > > >>
> > > >> > > > > > > >> Thanks!
> > > >> > > > > > > >>
> > > >> > > > > > > >> On Wed, Jan 16, 2019 at 2:53 PM Igor Sapego <
> > > >> > isap...@apache.org
> > > >> > > >
> > > >> > > > > > wrote:
> > > >> > > > > > > >>
> > > >> > > > > > > >> > Pavel,
> > > >> > > > > > > >> >
> > > >> > > > > > > >> > Yeah, it makes sense, but to me it seems that this
> > > >> approach
> > > >> > > can
> > > >> > > > > lead
> > > >> > > > > > > >> > to more complicated client logic, as it will
> require
> > to
> > > >> make
> > > >> > > > > > > additional
> > > >> > > > > > > >> > call
> > > >> > > > > > > >> > to every server, that reports affinity topology
> > change.
> > > >> > > > > > > >> >
> > > >> > > > > > > >> > Guys, WDYT?
> > > >> > > > > > > >> >
> > > >> > > > > > > >> > Best Regards,
> > > >> > > > > > > >> > Igor
> > > >> > > > > > > >> >
> > > >> > > > > > > >> >
> > > >> > > > > > > >> > On Tue, Jan 15, 2019 at 10:59 PM Pavel Tupitsyn <
> > > >> > > > > > ptupit...@apache.org
> > > >> > > > > > > >
> > > >> > > > > > > >> > wrote:
> > > >> > > > > > > >> >
> > > >> > > > > > > >> > > Igor,
> > > >> > > > > > > >> > >
> > > >> > > > > > > >> > > >  It is proposed to add flag to every response,
> > that
> > > >> > shows
> > > >> > > > > > whether
> > > >> > > > > > > >> the
> > > >> > > > > > > >> > > Affinity Topology Version of the cluster has
> > changed
> > > >> since
> > > >> > > the
> > > >> > > > > > last
> > > >> > > > > > > >> > request
> > > >> > > > > > > >> > > from the client.
> > > >> > > > > > > >> > > I propose to keep this flag. So no need for
> > periodic
> > > >> > checks.
> > > >> > > > > Makes
> > > >> > > > > > > >> sense?
> > > >> > > > > > > >> > >
> > > >> > > > > > > >> > > On Tue, Jan 15, 2019 at 4:45 PM Igor Sapego <
> > > >> > > > isap...@apache.org
> > > >> > > > > >
> > > >> > > > > > > >> wrote:
> > > >> > > > > > > >> > >
> > > >> > > > > > > >> > > > Pavel,
> > > >> > > > > > > >> > > >
> > > >> > > > > > > >> > > > This will require from client to send this new
> > > >> request
> > > >> > > > > > > periodically,
> > > >> > > > > > > >> > I'm
> > > >> > > > > > > >> > > > not
> > > >> > > > > > > >> > > > sure this will make clients simpler. Anyway,
> > let's
> > > >> > discuss
> > > >> > > > it.
> > > >> > > > > > > >> > > >
> > > >> > > > > > > >> > > > Vladimir,
> > > >> > > > > > > >> > > >
> > > >> > > > > > > >> > > > With current proposal, we will have affinity
> info
> > > in
> > > >> > > message
> > > >> > > > > > > header.
> > > >> > > > > > > >> > > >
> > > >> > > > > > > >> > > > Best Regards,
> > > >> > > > > > > >> > > > Igor
> > > >> > > > > > > >> > > >
> > > >> > > > > > > >> > > >
> > > >> > > > > > > >> > > > On Tue, Jan 15, 2019 at 11:01 AM Vladimir
> Ozerov
> > <
> > > >> > > > > > > >> voze...@gridgain.com
> > > >> > > > > > > >> > >
> > > >> > > > > > > >> > > > wrote:
> > > >> > > > > > > >> > > >
> > > >> > > > > > > >> > > > > Igor,
> > > >> > > > > > > >> > > > >
> > > >> > > > > > > >> > > > > I think that "Cache Partitions Request"
> should
> > > >> contain
> > > >> > > > > > affinity
> > > >> > > > > > > >> > > topology
> > > >> > > > > > > >> > > > > version. Otherwise we do not know what
> > > >> distribution is
> > > >> > > > > > returned
> > > >> > > > > > > -
> > > >> > > > > > > >> the
> > > >> > > > > > > >> > > one
> > > >> > > > > > > >> > > > > we expected, or some newer one. The latter
> may
> > > >> happen
> > > >> > in
> > > >> > > > > case
> > > >> > > > > > > >> > topology
> > > >> > > > > > > >> > > > > changed or late affinity assignment happened
> > > >> between
> > > >> > > > server
> > > >> > > > > > > >> response
> > > >> > > > > > > >> > > and
> > > >> > > > > > > >> > > > > subsequent client partitions request.
> > > >> > > > > > > >> > > > >
> > > >> > > > > > > >> > > > > Vladimir.
> > > >> > > > > > > >> > > > >
> > > >> > > > > > > >> > > > > On Mon, Jan 14, 2019 at 6:08 PM Igor Sapego <
> > > >> > > > > > isap...@apache.org
> > > >> > > > > > > >
> > > >> > > > > > > >> > > wrote:
> > > >> > > > > > > >> > > > >
> > > >> > > > > > > >> > > > > > Hello guys,
> > > >> > > > > > > >> > > > > >
> > > >> > > > > > > >> > > > > > I've updated IEP page [1] describing
> proposed
> > > >> > solution
> > > >> > > > in
> > > >> > > > > > more
> > > >> > > > > > > >> > > details
> > > >> > > > > > > >> > > > > and
> > > >> > > > > > > >> > > > > > proposing some changes for a protocol.
> > > >> > > > > > > >> > > > > >
> > > >> > > > > > > >> > > > > > Please, take a look and let me know what
> you
> > > >> think.
> > > >> > > > > > > >> > > > > >
> > > >> > > > > > > >> > > > > > [1] -
> > > >> > > > > > > >> > > > > >
> > > >> > > > > > > >> > > > > >
> > > >> > > > > > > >> > > > >
> > > >> > > > > > > >> > > >
> > > >> > > > > > > >> > >
> > > >> > > > > > > >> >
> > > >> > > > > > > >>
> > > >> > > > > > >
> > > >> > > > > >
> > > >> > > > >
> > > >> > > >
> > > >> > >
> > > >> >
> > > >>
> > >
> >
> https://cwiki.apache.org/confluence/display/IGNITE/IEP-23%3A+Best+Effort+Affinity+for+thin+clients
> > > >> > > > > > > >> > > > > >
> > > >> > > > > > > >> > > > > > Best Regards,
> > > >> > > > > > > >> > > > > > Igor
> > > >> > > > > > > >> > > > > >
> > > >> > > > > > > >> > > > > >
> > > >> > > > > > > >> > > > > > On Tue, Jun 19, 2018 at 11:54 AM Vladimir
> > > Ozerov
> > > >> <
> > > >> > > > > > > >> > > voze...@gridgain.com
> > > >> > > > > > > >> > > > >
> > > >> > > > > > > >> > > > > > wrote:
> > > >> > > > > > > >> > > > > >
> > > >> > > > > > > >> > > > > > > Denis,
> > > >> > > > > > > >> > > > > > >
> > > >> > > > > > > >> > > > > > > Yes, in principle we can extend it. We
> are
> > > >> going
> > > >> > to
> > > >> > > > > > > implement
> > > >> > > > > > > >> it
> > > >> > > > > > > >> > in
> > > >> > > > > > > >> > > > > > > subsequent phases of this IEP.
> > > >> > > > > > > >> > > > > > >
> > > >> > > > > > > >> > > > > > > On Tue, Jun 19, 2018 at 4:30 AM, Dmitriy
> > > >> > Setrakyan <
> > > >> > > > > > > >> > > > > > dsetrak...@apache.org>
> > > >> > > > > > > >> > > > > > > wrote:
> > > >> > > > > > > >> > > > > > >
> > > >> > > > > > > >> > > > > > > > On Mon, Jun 18, 2018 at 11:07 AM, Denis
> > > >> Magda <
> > > >> > > > > > > >> > dma...@apache.org
> > > >> > > > > > > >> > > >
> > > >> > > > > > > >> > > > > > wrote:
> > > >> > > > > > > >> > > > > > > >
> > > >> > > > > > > >> > > > > > > > > Folks,
> > > >> > > > > > > >> > > > > > > > >
> > > >> > > > > > > >> > > > > > > > > Feel that this functionality can be
> > > >> extended
> > > >> > to
> > > >> > > > the
> > > >> > > > > > > >> automatic
> > > >> > > > > > > >> > > > > > > reconnect,
> > > >> > > > > > > >> > > > > > > > > can't it? Presently we require to
> > > provide a
> > > >> > > static
> > > >> > > > > > list
> > > >> > > > > > > of
> > > >> > > > > > > >> > IPs
> > > >> > > > > > > >> > > to
> > > >> > > > > > > >> > > > > be
> > > >> > > > > > > >> > > > > > > used
> > > >> > > > > > > >> > > > > > > > > at a reconnect time. By having a
> > > partition
> > > >> map
> > > >> > > of
> > > >> > > > > all
> > > >> > > > > > > the
> > > >> > > > > > > >> > > nodes,
> > > >> > > > > > > >> > > > > the
> > > >> > > > > > > >> > > > > > > thin
> > > >> > > > > > > >> > > > > > > > > client should be able to automate
> this
> > > >> piece.
> > > >> > > > > > > >> > > > > > > > >
> > > >> > > > > > > >> > > > > > > >
> > > >> > > > > > > >> > > > > > > > Not sure if static IP list can be
> > avoided.
> > > >> What
> > > >> > > Igor
> > > >> > > > > is
> > > >> > > > > > > >> > > suggesting
> > > >> > > > > > > >> > > > is
> > > >> > > > > > > >> > > > > > > that
> > > >> > > > > > > >> > > > > > > > we try to pick the best node out of the
> > > >> static
> > > >> > IP
> > > >> > > > > list.
> > > >> > > > > > > >> > > > > > > >
> > > >> > > > > > > >> > > > > > > > D.
> > > >> > > > > > > >> > > > > > > >
> > > >> > > > > > > >> > > > > > >
> > > >> > > > > > > >> > > > > >
> > > >> > > > > > > >> > > > >
> > > >> > > > > > > >> > > >
> > > >> > > > > > > >> > >
> > > >> > > > > > > >> >
> > > >> > > > > > > >>
> > > >> > > > > > > >
> > > >> > > > > > >
> > > >> > > > > >
> > > >> > > > >
> > > >> > > >
> > > >> > >
> > > >> >
> > > >>
> > > >
> > >
> >
>

Reply via email to