Pavel,

Most likely the client will be pulling the partitioning map periodically.
If the local map is outdated, it won't be a big deal because a server node
that receives a request:

   - can redirect it to a map that owns a partition
   - will add an updated partition map to the client's response or will
   turn a special flag in the response suggesting the client do that manually.

Igor, is this what you're suggesting?

--
Denis

On Wed, Jun 13, 2018 at 11:31 AM Pavel Tupitsyn <ptupit...@apache.org>
wrote:

> Hi Igor,
>
> How can we invoke the affinity function on the client, if we don't have the
> implementation at hand?
> Am I missing something?
>
> Thanks,
> Pavel
>
>
> On Wed, Jun 13, 2018 at 5:34 PM, Igor Sapego <isap...@apache.org> wrote:
>
> > Hi, Igniters,
> >
> > Currently, I'm working on the thin C++ client implementation.
> > As you may already know, there is an issue with latency in our
> > thin clients, which also can result in performance issues (you
> > can see the "About Ignite Thin client performance" thread on
> > user list).
> >
> > So, how about we implement some kind of "Best Effort Affinity"
> > for our thin clients? In my opinion, this could be possible and
> > may improve mean latency when using thin clients dramatically.
> >
> > The scenario is following:
> > 1. Thin client connects to one of the node from the provided
> > address list, just as now.
> > 2. When user create instance of CacheClient, thin client
> > requests partition mapping for the cache.
> > 3. Client establishes connections to nodes, which are both in the
> > list, provided by user and in a server node response.
> > 4. When user makes put/get/some other cache operation,
> > thin client makes the best effort to send the request to the node,
> > which stores the data.
> > 5. To update partition mapping, thin client can provide public API,
> > or do it with some timeout. Also, we can add "miss" flag to cache
> > operation response, which whill indicate, that operation was not
> > local for the server node and which thin client can use to
> > understand, that partition mapping has changed to request server
> > node for an update.
> >
> > What do you think?
> >
> > Best Regards,
> > Igor
> >
>

Reply via email to