Because node local cache created on each server node.
> 29 сент. 2022 г., в 15:43, Kramer <[email protected]> написал(а):
>
> Coming back to my original question:
>
> CacheConfiguration<UUID, BinaryObject> cfg = new CacheConfiguration<>();
> cfg.setCacheMode(CacheMode.REPLICATED);
> cfg.setAffinity(new LocalAffinityFunction());
>
> Will the above code still create a cluster wide lock with partition map
> exchange event even though the cache will be hosted on local node only?
>
>
>
> Gesendet: Dienstag, 27. September 2022 um 18:50 Uhr
> Von: "Thomas Kramer" <[email protected]>
> An: [email protected]
> Betreff: Re: Creating local cache without cluster-wide lock
> I'm using CacheBasedDataset to filter a subset from a distributed cache
> of all training data for Linear Regression. This seems to by default use
> the AffinityFunction from the upstream cache to create a new temporary
> cache with every preprocessing trainer and on every dataset update. This
> causes a lot of additional traffic if happening on multiple nodes.
>
> So I was looking to create local caches for the filtered datasets.
>
>
> On 27.09.22 18:30, Stephen Darlington wrote:
> > What are you trying to do? The general solution is to create a long-lived
> > cache and have a run-number or similar as part of the key.
> >
> >> On 27 Sep 2022, at 15:36, Thomas Kramer <[email protected]> wrote:
> >>
> >> I understand creating a new cache dynamically requires a cluster-wide
> >> lock with partition map exchange event to create the cache on all nodes.
> >> This is unnecessary traffic when only working with local caches.
> >>
> >> For local-only caches I assume this wouldn't happen. But CacheMode.LOCAL
> >> is deprecated.
> >>
> >> Is there a way to create a local cache without triggering unnecessary
> >> map exchange events?
> >>
> >> Would this work or does it still create a short global lock on all nodes
> >> not only the local node?
> >>
> >> CacheConfiguration<UUID, BinaryObject> cfg = new
> >> CacheConfiguration<>();
> >> cfg.setCacheMode(CacheMode.REPLICATED);
> >> cfg.setAffinity(new LocalAffinityFunction());
> >>