diff options
author | Tor Brede Vekterli <vekterli@verizonmedia.com> | 2021-01-05 17:47:06 +0100 |
---|---|---|
committer | Tor Brede Vekterli <vekterli@verizonmedia.com> | 2021-01-05 17:47:06 +0100 |
commit | 06909e7abf1da35827f3efe11287f19c736d5e8b (patch) | |
tree | a43075c0edec702dec395c83d9db8b220c51a3aa /container-search | |
parent | 4dff64a9dda3bbc86d8877116d3e2c7467322c21 (diff) |
Cap max buckets per streaming search visitor
Avoids memory blow-up when visiting locations with a massive
number of buckets.
Diffstat (limited to 'container-search')
-rw-r--r-- | container-search/src/main/java/com/yahoo/vespa/streamingvisitors/VdsVisitor.java | 4 | ||||
-rw-r--r-- | container-search/src/test/java/com/yahoo/vespa/streamingvisitors/VdsVisitorTestCase.java | 2 |
2 files changed, 4 insertions, 2 deletions
diff --git a/container-search/src/main/java/com/yahoo/vespa/streamingvisitors/VdsVisitor.java b/container-search/src/main/java/com/yahoo/vespa/streamingvisitors/VdsVisitor.java index b05ddfa3bb2..ef0a60c76c0 100644 --- a/container-search/src/main/java/com/yahoo/vespa/streamingvisitors/VdsVisitor.java +++ b/container-search/src/main/java/com/yahoo/vespa/streamingvisitors/VdsVisitor.java @@ -64,6 +64,8 @@ class VdsVisitor extends VisitorDataHandler implements Visitor { private static final CompoundName streamingPriority=new CompoundName("streaming.priority"); private static final CompoundName streamingMaxbucketspervisitor=new CompoundName("streaming.maxbucketspervisitor"); + protected static final int MAX_BUCKETS_PER_VISITOR = 1024; + private static final Logger log = Logger.getLogger(VdsVisitor.class.getName()); private final VisitorParameters params = new VisitorParameters(""); private List<SearchResult.Hit> hits = new ArrayList<>(); @@ -199,7 +201,7 @@ class VdsVisitor extends VisitorDataHandler implements Visitor { } params.setMaxPending(Integer.MAX_VALUE); - params.setMaxBucketsPerVisitor(Integer.MAX_VALUE); + params.setMaxBucketsPerVisitor(MAX_BUCKETS_PER_VISITOR); params.setTraceLevel(inferSessionTraceLevel(query)); diff --git a/container-search/src/test/java/com/yahoo/vespa/streamingvisitors/VdsVisitorTestCase.java b/container-search/src/test/java/com/yahoo/vespa/streamingvisitors/VdsVisitorTestCase.java index 4bfbd91eb89..fd8383d6b37 100644 --- a/container-search/src/test/java/com/yahoo/vespa/streamingvisitors/VdsVisitorTestCase.java +++ b/container-search/src/test/java/com/yahoo/vespa/streamingvisitors/VdsVisitorTestCase.java @@ -247,7 +247,7 @@ public class VdsVisitorTestCase { if (qa.maxBucketsPerVisitor != 0) { assertEquals(qa.maxBucketsPerVisitor, params.getMaxBucketsPerVisitor()); } else { - assertEquals(Integer.MAX_VALUE, params.getMaxBucketsPerVisitor()); + assertEquals(VdsVisitor.MAX_BUCKETS_PER_VISITOR, params.getMaxBucketsPerVisitor()); } assertEquals(false, params.getDynamicallyIncreaseMaxBucketsPerVisitor()); |