You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@ignite.apache.org by "Alexey Scherbakov (Jira)" <ji...@apache.org> on 2020/01/23 14:01:00 UTC

[jira] [Created] (IGNITE-12572) Get rid of synchronous cache destroying in multiple caches group.

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)