You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@ignite.apache.org by "Semen Boikov (JIRA)" <ji...@apache.org> on 2015/04/02 11:28:53 UTC

[jira] [Created] (IGNITE-668) Need properly handle system caches

Semen Boikov created IGNITE-668:
-----------------------------------

             Summary: Need properly handle system caches
                 Key: IGNITE-668
                 URL: https://issues.apache.org/jira/browse/IGNITE-668
             Project: Ignite
          Issue Type: Bug
          Components: cache
            Reporter: Semen Boikov
            Assignee: Alexey Goncharuk
            Priority: Blocker
             Fix For: sprint-3


Issue is found by QA, scenario:
- start one node with configuration for igfs (includes igfs data and meta caches)
- start second node without cache configuration, igfs data and meta caches start on this node
- try to use igfs, get error on second node:
{noformat}
Caused by: class org.apache.ignite.IgniteCheckedException: Failed to enlist new cache to existing transaction (cache configurations are not compatible) [activeCaches=[], cacheName=dataCache, cacheSystem=false, txSystem=true]
	at org.apache.ignite.internal.processors.cache.transactions.IgniteTxLocalAdapter.addActiveCache(IgniteTxLocalAdapter.java:3079)
	at org.apache.ignite.internal.processors.cache.distributed.dht.GridDhtTxLocalAdapter.addEntry(GridDhtTxLocalAdapter.java:463)
	at org.apache.ignite.internal.processors.cache.distributed.dht.GridDhtTxLocal.prepareAsync(GridDhtTxLocal.java:442)
{noformat}

Added simple test reproducing issue IgsfStartCacheTest.

When cache processor starts igfs caches specified in configuration then these caches are marked as 'system', but when caches are dynamically started on second node these caches do not have 'system' flag.

For me looks like GridCacheProcessor adds igfs and hadoop caches to 'sysCaches' collection to distinguish public caches and caches which can not be obtained from public API (e.g. Ignite.cache(cacheName)). But in code I see that for 'system' caches events are not recorded and 'utility cache pool' is used. I think 'utility cache pool' should not be used for igfs and hadoop caches.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)