incubator-blur-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From cr...@apache.org
Subject git commit: Fix blur-console memory leak closes apache/incubator-blur#4
Date Sun, 26 Oct 2014 18:29:08 GMT
Repository: incubator-blur
Updated Branches:
  refs/heads/master 5d064cbed -> 897e95b74


Fix blur-console memory leak closes apache/incubator-blur#4


Project: http://git-wip-us.apache.org/repos/asf/incubator-blur/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-blur/commit/897e95b7
Tree: http://git-wip-us.apache.org/repos/asf/incubator-blur/tree/897e95b7
Diff: http://git-wip-us.apache.org/repos/asf/incubator-blur/diff/897e95b7

Branch: refs/heads/master
Commit: 897e95b744247007863b50d241e739eef269026e
Parents: 5d064cb
Author: Chris Rohr <rohr.chris@gmail.com>
Authored: Sun Oct 26 14:28:50 2014 -0400
Committer: Chris Rohr <rohr.chris@gmail.com>
Committed: Sun Oct 26 14:28:50 2014 -0400

----------------------------------------------------------------------
 .../blur/console/util/CachingBlurClient.java    | 40 ++++++++++++--------
 1 file changed, 24 insertions(+), 16 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-blur/blob/897e95b7/blur-console/src/main/java/org/apache/blur/console/util/CachingBlurClient.java
----------------------------------------------------------------------
diff --git a/blur-console/src/main/java/org/apache/blur/console/util/CachingBlurClient.java
b/blur-console/src/main/java/org/apache/blur/console/util/CachingBlurClient.java
index f722330..5bc048b 100644
--- a/blur-console/src/main/java/org/apache/blur/console/util/CachingBlurClient.java
+++ b/blur-console/src/main/java/org/apache/blur/console/util/CachingBlurClient.java
@@ -71,16 +71,20 @@ public class CachingBlurClient {
       public void run() {
         boolean run = true;
           while (run) {
-            cleanup(clusterListCache);
-            cleanup(tableListCache);
-            cleanup(queryListCache);
-            cleanup(queryStatusCache);
-            cleanup(tableDescriptionCache);
-            cleanup(tableStatsCache);
-            cleanup(schemaCache);
-            cleanup(controllerListCache);
-            cleanup(shardListCache);
-            log.info("Cache: " + cacheHits + " hits, " + cacheMisses + " misses");
+            try {
+              cleanup(clusterListCache);
+              cleanup(tableListCache);
+              cleanup(queryListCache);
+              cleanup(queryStatusCache);
+              cleanup(tableDescriptionCache);
+              cleanup(tableStatsCache);
+              cleanup(schemaCache);
+              cleanup(controllerListCache);
+              cleanup(shardListCache);
+              log.info("Cache: " + cacheHits + " hits, " + cacheMisses + " misses");
+            } catch (Exception e) {
+              log.error("Error cleaning up all caches", e);
+            }
             try {
               Thread.sleep(timeout * 2);
             } catch (InterruptedException e) {
@@ -96,14 +100,18 @@ public class CachingBlurClient {
 
   private void cleanup(Map<String, Item> cache) {
     if (cache != null) {
-      synchronized (cache) {
-        Iterator<Map.Entry<String, Item>> iterator = cache.entrySet().iterator();
-        while (iterator.hasNext()) {
-          Map.Entry<String, Item> entry = iterator.next();
-          if (entry.getValue().expired(timeout)) {
-            iterator.remove();
+      try {
+        synchronized (cache) {
+          Iterator<Map.Entry<String, Item>> iterator = cache.entrySet().iterator();
+          while (iterator.hasNext()) {
+            Map.Entry<String, Item> entry = iterator.next();
+            if (entry.getValue().expired(timeout)) {
+              iterator.remove();
+            }
           }
         }
+      } catch (Exception e) {
+      	log.error("Error cleaning up cache", e);
       }
     }
   }


Mime
View raw message