# ignite-sprint-2 Fixed TTL usage for cache-load.

Project: http://git-wip-us.apache.org/repos/asf/incubator-ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-ignite/commit/83d073f3
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ignite/tree/83d073f3
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ignite/diff/83d073f3

Branch: refs/heads/ignite-281
Commit: 83d073f366fd8d851a06fdc8882eb37067f12cbd
Parents: e0a087c
Author: AKuznetsov <akuznet...@gridgain.com>
Authored: Thu Feb 19 10:12:25 2015 +0700
Committer: AKuznetsov <akuznet...@gridgain.com>
Committed: Thu Feb 19 10:12:25 2015 +0700

----------------------------------------------------------------------
 .../internal/visor/cache/VisorCacheLoadTask.java    | 16 +++++++++++++---
 1 file changed, 13 insertions(+), 3 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/83d073f3/modules/core/src/main/java/org/apache/ignite/internal/visor/cache/VisorCacheLoadTask.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/visor/cache/VisorCacheLoadTask.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/visor/cache/VisorCacheLoadTask.java
index 5ec5b0e..e818bd3 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/visor/cache/VisorCacheLoadTask.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/visor/cache/VisorCacheLoadTask.java
@@ -61,13 +61,23 @@ public class VisorCacheLoadTask extends
             Long ttl = arg.get2();
             Object[] ldrArgs = arg.get3();
 
-            Map<String, Integer> res = new HashMap<>();
+            assert cacheNames != null && !cacheNames.isEmpty();
+            assert ttl != null;
 
-            ExpiryPolicy plc = new CreatedExpiryPolicy(new 
Duration(TimeUnit.MILLISECONDS, ttl));
+            Map<String, Integer> res = U.newHashMap(cacheNames.size());
+
+            ExpiryPolicy plc = null;
 
             for (String cacheName: cacheNames) {
-                IgniteCache cache = 
ignite.jcache(cacheName).withExpiryPolicy(plc);
+                IgniteCache cache = ignite.jcache(cacheName);
+
+                if (ttl > 0) {
+                    if (plc == null)
+                        plc = new CreatedExpiryPolicy(new 
Duration(TimeUnit.MILLISECONDS, ttl));
 
+                    cache = cache.withExpiryPolicy(plc);
+                }
+                
                 cache.loadCache(null, ldrArgs);
 
                 res.put(cacheName, cache.size());

Reply via email to