summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHenning Baldersheim <balder@yahoo-inc.com>2018-02-05 15:42:20 +0100
committerHenning Baldersheim <balder@yahoo-inc.com>2018-02-05 15:42:20 +0100
commit8632a41f9bd78cc6adb9b9bbb97d894812e0f6d4 (patch)
tree23c14360187b7ceb9b7e232f5161d43d41fd1041
parent87f76621e0952b56513a0206522ee55f4cc9557b (diff)
Be conservative and ensure we send down a positive number (1).
-rw-r--r--container-search/src/main/java/com/yahoo/fs4/GetDocSumsPacket.java2
-rw-r--r--container-search/src/main/java/com/yahoo/fs4/QueryPacket.java2
-rw-r--r--container-search/src/test/java/com/yahoo/fs4/test/QueryTestCase.java10
3 files changed, 7 insertions, 7 deletions
diff --git a/container-search/src/main/java/com/yahoo/fs4/GetDocSumsPacket.java b/container-search/src/main/java/com/yahoo/fs4/GetDocSumsPacket.java
index 63fa313fe72..c1b0e9ccb37 100644
--- a/container-search/src/main/java/com/yahoo/fs4/GetDocSumsPacket.java
+++ b/container-search/src/main/java/com/yahoo/fs4/GetDocSumsPacket.java
@@ -102,7 +102,7 @@ public class GetDocSumsPacket extends Packet {
buffer.putInt((int)features);
buffer.putInt(0); //Unused, was docstamp
long timeLeft = query.getTimeLeft();
- buffer.putInt((int)timeLeft);
+ buffer.putInt(Math.max(1, (int)timeLeft)); // Safety to avoid sending down 0 or negative number
if (log.isLoggable(LogLevel.DEBUG)) {
log.log(LogLevel.DEBUG, "Timeout from query(" + query.getTimeout() + "), sent to backend: " + timeLeft);
}
diff --git a/container-search/src/main/java/com/yahoo/fs4/QueryPacket.java b/container-search/src/main/java/com/yahoo/fs4/QueryPacket.java
index ff2ca443cbf..8a14ea5c343 100644
--- a/container-search/src/main/java/com/yahoo/fs4/QueryPacket.java
+++ b/container-search/src/main/java/com/yahoo/fs4/QueryPacket.java
@@ -123,7 +123,7 @@ public class QueryPacket extends Packet {
ignoreableOffset = buffer.position() - relativeZero;
IntegerCompressor.putCompressedPositiveNumber(getOffset(), buffer);
IntegerCompressor.putCompressedPositiveNumber(getHits(), buffer);
- buffer.putInt((int)query.getTimeLeft());
+ buffer.putInt(Math.max(1, (int)query.getTimeLeft())); // Safety to avoid sending down 0 or negative number
ignoreableSize = buffer.position() - relativeZero - ignoreableOffset;
buffer.putInt(getFlagInt());
int startOfFieldToSave = buffer.position();
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 f47c8e9e0b8..c7359ce2f94 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
@@ -35,7 +35,7 @@ public class QueryTestCase extends junit.framework.TestCase {
0,0,0,6, // Features
2,
8,
- 0,0,0,50, // querytimeout
+ 0,0,0,1, // querytimeout
0,0,0x40,0x01, // qflags
7,
'd', 'e', 'f', 'a', 'u', 'l', 't',
@@ -57,7 +57,7 @@ public class QueryTestCase extends junit.framework.TestCase {
0,0,0,6, // Features
2,
8,
- 0,0,0,50, // querytimeout
+ 0,0,0,1, // querytimeout
0,0,0x40,0x01, // QFlags
3,
't','w','o', // Ranking
@@ -162,7 +162,7 @@ public class QueryTestCase extends junit.framework.TestCase {
0,0,0,-122, // Features
2, // offset
8, // maxhits
- 0,0,0,50, // querytimeout
+ 0,0,0,1, // querytimeout
0,0,0x40,0x01, // qflags
7,
'd', 'e', 'f', 'a', 'u', 'l', 't',
@@ -233,7 +233,7 @@ public class QueryTestCase extends junit.framework.TestCase {
0,0,0,6, // Features
2,
8,
- 0,0,0,50, // querytimeout
+ 0,0,0,1, // querytimeout
0,0,0x40,0x01, // qflags
7,
'd', 'e', 'f', 'a', 'u', 'l', 't',
@@ -252,7 +252,7 @@ public class QueryTestCase extends junit.framework.TestCase {
0,0,0,6, // Features
2,
8,
- 0,0,0,50, // querytimeout
+ 0,0,0,1, // querytimeout
0,0,0x40,0x01, // qflags
7,
'd', 'e', 'f', 'a', 'u', 'l', 't',