You may not want to use LOCAL caches because they are removed in master [1] and will not exists in next release
[1] https://github.com/apache/ignite/commit/01a7d075a5f48016511f6a754538201f12aff4f7 <https://github.com/apache/ignite/commit/01a7d075a5f48016511f6a754538201f12aff4f7> > 29 сент. 2022 г., в 15:55, Николай Ижиков <nizhikov....@gmail.com> написал(а): > > Because node local cache created on each server node. > >> 29 сент. 2022 г., в 15:43, Kramer <don.tequ...@gmx.de >> <mailto:don.tequ...@gmx.de>> написал(а): >> >> 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" <don.tequ...@gmx.de <mailto:don.tequ...@gmx.de>> >> An: user@ignite.apache.org <mailto:user@ignite.apache.org> >> 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 <don.tequ...@gmx.de >> >> <mailto:don.tequ...@gmx.de>> 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()); >> >> >