Dmitriy, >From my point of view, it's not good to have such unexpected behavior (and change old one) for cache and getOrCreateCache method. It should be a conscious decision, not an accident.
On Wed, Nov 21, 2018 at 5:01 PM Eduard Shangareev <eshangar...@gridgain.com> wrote: > Vladimir, > > 1) Affinity could be changed, but count of partition couldn't be. > 2) So it would trigger 2 PME. Dynamic start and stop. > 3) In theory, should cancel them and new setting should be applied. How it > works now? Create an index and stop node, for example. > > On Wed, Nov 21, 2018 at 4:56 PM Vladimir Ozerov <voze...@gridgain.com> > wrote: > > > Hi Ed, > > > > Several questions from my side: > > 1) If we do not allow to change the most demanded by users things like > > affinity or persistence/in-memory, then what kind of configuration > > properties do we expect to be changed? Can we have several examples? > > 2) How will it interact with PME? > > 3) How will it interact with CREATE INDEX and ALTER TABLE commands? > > > > On Wed, Nov 21, 2018 at 4:48 PM Eduard Shangareev < > > eduard.shangar...@gmail.com> wrote: > > > > > Igniters, > > > > > > I propose new public API to change the cache configuration of > persistent > > > caches with keeping data. > > > > > > It would look like: > > > > > > Ignite ignite = ...; > > > ignite.restartCaches(cfg1, ... cfgN); > > > > > > where cfgX is a new cache configuration, which contains the name of an > > > existing persistent cache. > > > > > > The obvious limitation: > > > - affinity key mapping couldn't be changed; > > > - count of partitions couldn't be changed; > > > - MVCC couldn't be turned off/on; > > > - persistent couldn't be turned off; > > > - group settings couldn't be changed (group name); > > > - if cache belongs to group it's needed to restart all of them. > > > > > > Failure scenario is the crucial thing (and most difficult): > > > - initiator fail; > > > - cluster restart at any stage; > > > - joining/starting offline nodes. > > > > > > Some thoughts about implementation: > > > - stop cache with destroy=false; > > > - start cache dynamically with new configuration; > > > - if indexes settings changed - remove index.bin to start indexation; > > > - change blt-history when start cache initiated to not allow join nodes > > > with old configuration; > > > - use restartId (IGNITE-8911) to not allow to start cache in between. > > > > > > Your thoughts? Would it be a useful feature? > > > > > > > > -- > Best regards, > Eduard. >