Fixing a issue where a runtimeexception bubbles up through a thread in the faceting logic. This exception causes the thread to no longer operate in the facet thread pool. After all the threads of the pool are exhausted and several faceting runnables fill the execution queue the process can sometimes run out of memory. At the least the faceting runs much slower.
Project: http://git-wip-us.apache.org/repos/asf/incubator-blur/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-blur/commit/af000ffe Tree: http://git-wip-us.apache.org/repos/asf/incubator-blur/tree/af000ffe Diff: http://git-wip-us.apache.org/repos/asf/incubator-blur/diff/af000ffe Branch: refs/heads/console-v2 Commit: af000ffeae526b99f335def1ee1d706c57a68278 Parents: 93f4b3c Author: Aaron McCurry <[email protected]> Authored: Tue May 27 21:15:41 2014 -0400 Committer: Aaron McCurry <[email protected]> Committed: Tue May 27 21:15:41 2014 -0400 ---------------------------------------------------------------------- .../main/java/org/apache/blur/lucene/search/FacetExecutor.java | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-blur/blob/af000ffe/blur-query/src/main/java/org/apache/blur/lucene/search/FacetExecutor.java ---------------------------------------------------------------------- diff --git a/blur-query/src/main/java/org/apache/blur/lucene/search/FacetExecutor.java b/blur-query/src/main/java/org/apache/blur/lucene/search/FacetExecutor.java index 615135e..683ba98 100644 --- a/blur-query/src/main/java/org/apache/blur/lucene/search/FacetExecutor.java +++ b/blur-query/src/main/java/org/apache/blur/lucene/search/FacetExecutor.java @@ -327,9 +327,8 @@ public class FacetExecutor { public void run() { try { entry.getValue().process(_counts, _minimumsBeforeReturning, _running); - } catch (IOException e) { + } catch (Throwable e) { LOG.error("Unknown error", e); - throw new RuntimeException(e); } finally { finished.incrementAndGet(); }
