Valentin Kulichenko created IGNITE-4255:
-------------------------------------------

             Summary: Improve IgniteCache.loadCache API
                 Key: IGNITE-4255
                 URL: https://issues.apache.org/jira/browse/IGNITE-4255
             Project: Ignite
          Issue Type: Bug
          Components: cache
    Affects Versions: 1.7
            Reporter: Valentin Kulichenko


This is based on this discussion on dev@ list: 
http://apache-ignite-developers.2346864.n4.nabble.com/IgniteCache-loadCache-improvement-proposal-td12177.html

The proposal is to improve the cache loading API by adding the following 
methods:
{code}
public void loadCache(@Nullable IgniteBiPredicate<K, V> p, IgniteBiInClosure<K, 
V> 
clo, @Nullable Object... args) throws CacheException;

public void localLoadCache(@Nullable IgniteBiPredicate<K, V> p, 
IgniteBiInClosure<K, V> 
clo, @Nullable Object... args) throws CacheException;
{code}
This will allow to customize the closure passed to 
{{CacheStore.loadCache(...)}} method, which currently always comes from the 
cache internals. This way user will have more control on data loading process, 
i.e. currently they control only persistence part of it, but after the change 
they will be also able to customize logic that actually saves loaded entries in 
the cache.

For example, this will allow to use {{IgniteDataStreamer}} to load the data 
reusing the existing persistence logic implemented in some {{CacheStore}} 
implementation (e.g., our POJO store or Cassandra store). For this particular 
case we should provide the closure implementation out of the box.



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

Reply via email to