Thanks Yakov! Well, a client or not a client, one may have plenty of things to do while waiting for a cache to finish creating. For example, one might like to create more caches...
In any case, I think the reasoning about sync vs async is pretty much the same as with the data streaming... One might say: I have nothing else to do until my data is done loading... In practical terms, Ignite could add the async counterparts (returning a Future) for each of the "Ignite.create" variety as well as "Ignite.cache". Or, alternatively, those methods could take an optional completion callback. If provided, the method would return immediately (with a null), and the callback would be called asynchronously once the operation has completed... Yet another approach would be to move all cache management operations to a newly created Cache Manager class (a la JCache's CacheManager) that would provide async support via IgniteAsyncSupport. The final option is do nothing, which is also fine. :) Regards Andrey > Date: Fri, 21 Aug 2015 10:45:59 +0300 > Subject: Re: Async cache creation > From: [email protected] > To: [email protected] > > Andrey, implementation should be easy, since this process uses futures > internally. Developer should only make them available externally (properly > wrapping it, of course). > > However, in most cases cache is created from client nodes which literally > have nothing to do while cache is not yet created. > > Anyone sees necessity in async cache creation? > > --Yakov > > 2015-08-20 20:59 GMT+03:00 Andrey Kornev <[email protected]>: > > > Hello, > > > > I've been thinking lately how wonderful it would be if one could > > create/destroy caches asynchronously! Since those are "resource management > > operations" and they deserve to be asynchronous. > > > > At the moment, there is a way to "simulate" such behavior using > > EVT_CACHE_STARTED/STOPPED events, but the implementation is rather awkward > > and would be a lot easier if implemented internally. > > > > Sounds interesting? > > > > Thanks > > Andrey > >
