Alexey Scherbakov created IGNITE-12572:
------------------------------------------

             Summary: Get rid of synchronous cache destroying in multiple 
caches group.
                 Key: IGNITE-12572
                 URL: https://issues.apache.org/jira/browse/IGNITE-12572
             Project: Ignite
          Issue Type: Improvement
    Affects Versions: 2.7.6
            Reporter: Alexey Scherbakov
             Fix For: 2.9


Current implementation of destroying a cache belonging to multiple caches group 
is done synchronously in exchange worker and blocks exchange events processing 
[1].

This has negative impact on grid availability if topology is changed during 
this process.

Proposed solution: make cache destroying asynchronous, similar to partition 
eviction. Same mechanics can be reused for clearing partition of destroyed 
cache data.

Special attention should be given to the case then cache is recreated while 
being destroyed.
The idea is to continue clearing of old data asynchronously and insert new data 
using new cache generation. This can be achieved for example by implementing 
unique key prefixes for each cache generation.

[1] 
org.apache.ignite.internal.processors.cache.GridCacheProcessor#processCacheStopRequestOnExchangeDone



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to