summaryrefslogtreecommitdiffstats
path: root/container-search
diff options
context:
space:
mode:
Diffstat (limited to 'container-search')
-rw-r--r--container-search/src/main/java/com/yahoo/fs4/mplex/ConnectionPool.java5
-rw-r--r--container-search/src/main/java/com/yahoo/search/grouping/result/AbstractList.java6
-rw-r--r--container-search/src/main/java/com/yahoo/search/grouping/result/Group.java2
-rw-r--r--container-search/src/main/java/com/yahoo/search/pagetemplates/result/SectionHitGroup.java10
-rw-r--r--container-search/src/main/java/com/yahoo/search/result/Hit.java6
-rw-r--r--container-search/src/main/java/com/yahoo/search/result/HitGroup.java13
6 files changed, 35 insertions, 7 deletions
diff --git a/container-search/src/main/java/com/yahoo/fs4/mplex/ConnectionPool.java b/container-search/src/main/java/com/yahoo/fs4/mplex/ConnectionPool.java
index 342dc120113..e84adfbef2c 100644
--- a/container-search/src/main/java/com/yahoo/fs4/mplex/ConnectionPool.java
+++ b/container-search/src/main/java/com/yahoo/fs4/mplex/ConnectionPool.java
@@ -13,10 +13,11 @@ import com.yahoo.log.LogLevel;
/**
* Pool of FS4 connections.
*
- * @author tonytv
+ * @author Tony Vaagenes
*/
public class ConnectionPool {
- final static int CLEANINGPERIOD = 1000; // Execute every second
+
+ private final static int CLEANINGPERIOD = 1000; // Execute every second
private final Queue<FS4Connection> connections = new ConcurrentLinkedQueue<>();
private final AtomicInteger activeConnections = new AtomicInteger(0);
private final AtomicInteger passiveConnections = new AtomicInteger(0);
diff --git a/container-search/src/main/java/com/yahoo/search/grouping/result/AbstractList.java b/container-search/src/main/java/com/yahoo/search/grouping/result/AbstractList.java
index 030a3c08cd6..e4c351149f6 100644
--- a/container-search/src/main/java/com/yahoo/search/grouping/result/AbstractList.java
+++ b/container-search/src/main/java/com/yahoo/search/grouping/result/AbstractList.java
@@ -45,4 +45,10 @@ public abstract class AbstractList extends HitGroup {
return continuations;
}
+ @Override
+ public void close() {
+ super.close();
+ continuations.clear();
+ }
+
}
diff --git a/container-search/src/main/java/com/yahoo/search/grouping/result/Group.java b/container-search/src/main/java/com/yahoo/search/grouping/result/Group.java
index 9d6e7ebd233..c0c6c67e463 100644
--- a/container-search/src/main/java/com/yahoo/search/grouping/result/Group.java
+++ b/container-search/src/main/java/com/yahoo/search/grouping/result/Group.java
@@ -10,7 +10,7 @@ import com.yahoo.search.result.Relevance;
* as fields, use {@link #getField(String)} to access), {@link GroupList} and {@link HitList}. Use the {@link
* com.yahoo.search.grouping.GroupingRequest#getResultGroup(com.yahoo.search.Result)} to retrieve an instance of this.
*
- * @author <a href="mailto:simon@yahoo-inc.com">Simon Thoresen</a>
+ * @author Simon Thoresen
*/
public class Group extends HitGroup {
diff --git a/container-search/src/main/java/com/yahoo/search/pagetemplates/result/SectionHitGroup.java b/container-search/src/main/java/com/yahoo/search/pagetemplates/result/SectionHitGroup.java
index 5897628ace1..cd3578acd11 100644
--- a/container-search/src/main/java/com/yahoo/search/pagetemplates/result/SectionHitGroup.java
+++ b/container-search/src/main/java/com/yahoo/search/pagetemplates/result/SectionHitGroup.java
@@ -17,8 +17,8 @@ import java.util.List;
public class SectionHitGroup extends HitGroup {
private static final long serialVersionUID = -9048845836777953538L;
- private List<Source> sources=new ArrayList<>(0);
- private List<Renderer> renderers=new ArrayList<>(0);
+ private List<Source> sources = new ArrayList<>(0);
+ private List<Renderer> renderers = new ArrayList<>(0);
private final String displayId;
private boolean leaf=false;
@@ -49,4 +49,10 @@ public class SectionHitGroup extends HitGroup {
public void setLeaf(boolean leaf) { this.leaf=leaf; }
+ @Override
+ public void close() {
+ sources = null;
+ renderers = null;
+ }
+
}
diff --git a/container-search/src/main/java/com/yahoo/search/result/Hit.java b/container-search/src/main/java/com/yahoo/search/result/Hit.java
index 076e6659d2b..0d8f575b1f6 100644
--- a/container-search/src/main/java/com/yahoo/search/result/Hit.java
+++ b/container-search/src/main/java/com/yahoo/search/result/Hit.java
@@ -797,4 +797,10 @@ public class Hit extends ListenableFreezableClass implements Data, Comparable<Hi
}
}
+ protected void close() {
+ query = null;
+ fields = null;
+ unmodifiableFieldMap = null;
+ }
+
}
diff --git a/container-search/src/main/java/com/yahoo/search/result/HitGroup.java b/container-search/src/main/java/com/yahoo/search/result/HitGroup.java
index cb3a9abffc4..8ad8e6a732f 100644
--- a/container-search/src/main/java/com/yahoo/search/result/HitGroup.java
+++ b/container-search/src/main/java/com/yahoo/search/result/HitGroup.java
@@ -68,13 +68,13 @@ public class HitGroup extends Hit implements DataList<Hit>, Cloneable, Iterable<
transient private HitOrderer hitOrderer = null;
/** Accounting the number of subgroups to allow some early returns when the number is 0 */
- private int subgroupCount=0;
+ private int subgroupCount = 0;
/**
* The number of hits not cached at this level, not counting hits in subgroups or
* any nested hitgroups themselves
*/
- private int notCachedCount=0;
+ private int notCachedCount = 0;
/**
* A direct reference to the errors of this result, or null if there are no errors.
@@ -921,4 +921,13 @@ public class HitGroup extends Hit implements DataList<Hit>, Cloneable, Iterable<
hits.addListener(runnable);
}
+ @Override
+ public void close() {
+ super.close();
+ hits = null;
+ unmodifiableHits = null;
+ hitOrderer = null;
+ incomingHits.drain(); // Just to gc as much as possible
+ }
+
}