summaryrefslogtreecommitdiffstats
path: root/container-search
diff options
context:
space:
mode:
authorHenning Baldersheim <balder@yahoo-inc.com>2019-03-28 09:44:55 +0200
committerHenning Baldersheim <balder@yahoo-inc.com>2019-03-28 09:44:55 +0200
commitfe7aae93eeef099040ee17f1ee697b96088544c9 (patch)
treef5152691e118e8c096da8d0f53dbf8edf1388ce1 /container-search
parent2e05ea2d5302dba75ca131379cf9c75a31c41b2d (diff)
We need to grow if we are too small..... If not we never finish.
Diffstat (limited to 'container-search')
-rw-r--r--container-search/src/main/java/com/yahoo/fs4/BasicPacket.java2
-rw-r--r--container-search/src/test/java/com/yahoo/fs4/test/QueryTestCase.java9
2 files changed, 10 insertions, 1 deletions
diff --git a/container-search/src/main/java/com/yahoo/fs4/BasicPacket.java b/container-search/src/main/java/com/yahoo/fs4/BasicPacket.java
index 7b2d3742fbf..f87721dc503 100644
--- a/container-search/src/main/java/com/yahoo/fs4/BasicPacket.java
+++ b/container-search/src/main/java/com/yahoo/fs4/BasicPacket.java
@@ -232,7 +232,7 @@ public abstract class BasicPacket {
break;
}
catch (BufferTooSmallException e) {
- buffer = ByteBuffer.allocate(buffer.capacity());
+ buffer = ByteBuffer.allocate(buffer.capacity()*2);
}
}
return buffer;
diff --git a/container-search/src/test/java/com/yahoo/fs4/test/QueryTestCase.java b/container-search/src/test/java/com/yahoo/fs4/test/QueryTestCase.java
index 3444a1b2eba..911831e3a65 100644
--- a/container-search/src/test/java/com/yahoo/fs4/test/QueryTestCase.java
+++ b/container-search/src/test/java/com/yahoo/fs4/test/QueryTestCase.java
@@ -192,6 +192,15 @@ public class QueryTestCase {
}
@Test
+ public void testBufferExpands() throws BufferTooSmallException {
+ Query query = new Query("/?query=chain&sortspec=%2Ba+-b&timeout=0");
+ QueryPacket packet = QueryPacket.create("container.0", query);
+
+ ByteBuffer buffer = packet.grantEncodingBuffer(0, ByteBuffer.allocate(2));
+ assertEquals(64, buffer.capacity());
+ }
+
+ @Test
public void testPhraseEqualsPhraseWithPhraseSegment() throws BufferTooSmallException {
Query query = new Query();
PhraseItem p = new PhraseItem();