[ 
https://issues.apache.org/jira/browse/IGNITE-1094?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16093336#comment-16093336
 ] 

Alexey Kuznetsov commented on IGNITE-1094:
------------------------------------------

[~yzhdanov] Consider 
org.apache.ignite.internal.processors.cache.GridCacheProcessor#createCache() 
method, which creates cache store as follows(algorithm 1 step):
{code:java}
cfgStore = cfg.getCacheStoreFactory() != null ? 
cfg.getCacheStoreFactory().create() : null;
{code}
when exception arises in store creation, we can check a flag(indicating 
creation failed) and continue cache creation as if creation succeedes 
(pseudocode) :
{code:java}
        try {
            cfgStore = cfg.getCacheStoreFactory() != null ? 
cfg.getCacheStoreFactory().create() : null;
        }
        catch (Throwable e) {
            desc.cacheStoreCreationFailed(true);
        }
{code}
Then in some place we can test this flag whether creation failed or not, and 
continue algorithm 2 step. Do you think its an appropriate scheme?


> Ignite.createCache(CacheConfiguration) hangs if some exception occurs during 
> cache initialization
> -------------------------------------------------------------------------------------------------
>
>                 Key: IGNITE-1094
>                 URL: https://issues.apache.org/jira/browse/IGNITE-1094
>             Project: Ignite
>          Issue Type: Bug
>          Components: cache
>            Reporter: Sergey Evdokimov
>            Assignee: Alexey Kuznetsov
>              Labels: Muted_test
>             Fix For: 2.2
>
>
> User can pass broken configuration, for example, store factory that throws 
> exception from create() method. I created test to demonstrate the problem. 
> See IgniteDynamicCacheStartSelfTest#testBrokenStoreFactory in 'ignite-1094' 
> branch 



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Reply via email to