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

Alexey Goncharuk commented on IGNITE-1094:
------------------------------------------

[~slava.koptilin], I have the following comments:
1) I do not like that we catch an exception in the global {{init()}} catch 
block when we cover the cache start failure. Note that this catch introduces 
another flow of exchange completion which is not correct. For example, any 
other exception thrown even when there are no caches started will be handled 
according to this flow. Instead, I would like to catch and handle the exception 
in the code specific to dynamic cache start (for example, 
{{onCacheChangeRequest()}}), and complete the exchange in generic way.
2) Tests coverage is not complete. Please add the following checks:
 * Check that a cache with the same name can be started after failure if config 
is corrected
 * Check that other caches (existed before the failed start) are still operable 
after the failure (includes cache API ops, SQL, data streamer, WAL 
enable/disable)
 * Check that other caches work after the failure AND further topology changes 
(node join, node add, both server and client). The check should include the ops 
above + check that affinity is correct on all nodes
 * Check coordinator failover during cache start failure. Specifically, the 
following case: cache start fails on one node, but the coordinator fails before 
the node sends it's single message and a new coordinator is elected

> 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: Vyacheslav Koptilin
>            Priority: Major
>              Labels: Muted_test
>             Fix For: 2.6
>
>
> 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
(v7.6.3#76005)

Reply via email to