Denis, that's right. Best Regards, Igor
On Wed, Jun 13, 2018 at 10:58 PM Denis Magda <dma...@apache.org> wrote: > 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 > > > > > >